Hadoop入门知识总结

摘要:
Hadoop集群只能为自己的MR程序提供服务!后续HADOOP系统中的所有框架都通过HADOOP_HOME传递。HOME找到HADOOP的安装目录!Etc:默认配置文件目录7。使用1。配置文件Hadoop有四个默认配置文件。这四个文件将在Hadoop启动时自动加载!

一、大数据
1.含义
大数据指在一定时间范围内使用常规的软件无法处理的数据集合!

2.特点
①海量
②高增长率
③多样性
④低价值密度

二、Hadoop
1.含义
狭义: Hadoop只代表hadoop框架本身!
广义: hadoop代表整个hadoop体系,由hadoop框架和其他依赖于hadoop的其他框架共同组成!

2.hadoop的组成
2.x版本

HDFS: 负责大数据存储的一个分布式文件系统!
YARN: 负责为大数据计算程序提供资源申请,管理和调度的框架!

MapReduce: 编程框架
Common: 常用的工具包

2.x版本和1.x版本的区别:
在1.x版本,MR既负责运行MR程序还负责为MR程序申请资源!Hadoop集群只能为自身的MR程序提供服务!
在2.x版本,MR只负责MR程序的计算,资源的调度和管理由YARN负责!Hadoop集群,不仅能为自身的MR程序提供服务!
还可以为第三方计算引擎,例如TeZ,Spark,Flink等提供计算资源的调度服务!

三、HDFS中的核心进程

1.核心进程
Namenode(1个): 负责HDFS上所有文件元数据的管理!
元数据: 文件的属性(文件名,大小,创建时间,所属主,由哪些块组成)

职责: ①负责接受客户端的所有请求
②负责接受DN上报的块信息
③负责向DN分配任务,例如维护文件的副本数等

Datanode(N个): 负责HDFS上所有文件数据的存储!

SecondaryNamenode(N个): 负责协助Namenode工作!

四、YARN中的核心进程

1.核心进程
ResourceManager(1个): 负责整个集群所有资源的管理和调度!
职责: ①负责接受客户端的所有请求
②负责接受NM上报的块信息
③负责向NM分配任务,例如检查NM是否健康,是否在线等

NodeManager(N个): 负责当前机器所有资源的管理和调度!

五、MapReduce中的核心进程

1.MapReduce是一个编程模型!这个模型由两个阶段组成,一个称为Map阶段,另一个称为Reduce阶段!
在Map阶段和Reduce阶段分别启动若干进程负责运算!这些进程称为Task!

在Map阶段启动的Task称为MapTask!
在Reduce阶段启动的Task称为ReduceTask!

将一个MapReduce程序称为一个Job!

一个Job中会启动若干个Task!

在Job启动时,Job会先创建一个MRAppMaster进程,由这个进程和RM进行通信,为Job中的每个Task申请
计算所需要的资源!

Task的请求,会被RM缓存到一个调度队列中,由NM领取Task,领取后NM会根据Task要求,提供计算资源!
提供后,为了避免计算资源在当前Task使用时被其他的task抢占,NM会将资源封装到一个Container中!

Container可以对计算资源进行隔离!

六、安装
1.环境要求
必须保证已经安装了JDK,有JAVA_HOME环境变量!

2.安装
解压在linux下编译的Hadoop!

3. 建议将HADOOP_HOME提升为全局变量!
后续的HADOOP体系中的所有的框架,都通过HADOOP_HOME找到hadoop的安装目录!
将bin,sbin目录配置到PATH中!

4.目录结构
bin: 常用的工具hadoop所在的目录
sbin: 提供对集群的管理功能,例如启动和停止进程!
etc: 默认的配置文件目录

七、使用
1. 配置文件
hadoop有4个默认我配置文件,这4个文件会随着Hadoop启动时,自动加载!

如果希望对这4个文件加载的默认属性进行覆盖!用户需要自定义配置文件!

文件格式:
core-site.xml----->core-default.xml
hdfs-site.xml----->hdfs-default.xml
yarn-site.xml----->yarn-default.xml
mapred-site.xml----->mapred-default.xml

配置文件的位置:
自定义位置: hadoop --confdir 配置文件的目录
默认配置文件目录: $HADOOP_HOME/etc/hadoop

2.HDFS的运行模式

①本地模式: 使用当前计算机的文件系统作为HDFS的文件系统!
fs.defaultFS=file:///(默认)

②分布式文件系统: 通过运行NN,DN等进程,由这些进程组成一个分布式的系统,进行文件的读写!
fs.defaultFS=hdfs://NN所在的主机名:9000


3.启动一个分布式文件系统
①在$HADOOP_HOME/etc/hadoop,配置core-site.xml
fs.defaultFS=hdfs://NN所在的主机名:9000
②配置Hadoop默认的工作目录,在$HADOOP_HOME/etc/hadoop,配置core-site.xml
hadoop.tmp.dir=配置一个当前用户有写权限的非tmp目录
③格式化NN
hadoop namenode -format
目的: ①生成NN的工作目录
②在工作目录下生成NN所要使用的特殊的文件,例如VERSION,fsiamge000000
注意: 一个集群搭建完成后,只需要格式化一次!

④启动
hadoop-daemon.sh start namenode|datanode

⑤查看
jps
http://NN所运行的主机名:50070

4.MR的运行模式
本地模式: 在本机使用多线程的方式模拟多个Task的运行!
mapreduce.framework.name=local(默认)
分布式模式: 在YARN上运行!
mapreduce.framework.name=yarn(默认)

5.配置MR在yarn上运行
①在$HADOOP_HOME/etc/hadoop,配置mapred-site.xml
mapreduce.framework.name=yarn
②配置YARN
在$HADOOP_HOME/etc/hadoop,配置yarn-site.xml
配置yarn.resourcemanager.hostname=RM运行的主机名
yarn.xxxx-auxservice=mapreduce_shuffle
③启动YARN
yarn-daemon.sh start resourcemanager | nodemanager

④查看
jps
http://rm所运行的主机名:8088

⑤提交作业
hadoop jar xxx.jar 主类名 输入目录.. 输出目录

要去: 输出目录必须不存在
输入目录中必须全部是文件





 

 

 

 

免责声明:文章转载自《Hadoop入门知识总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java 设计模式--策略模式,枚举+工厂方法实现Linux--vi/vim编辑器常用命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[转] hive0.14-insert、update、delete操作测试

FROM : http://blog.csdn.net/hi_box/article/details/40820341 首先用最普通的建表语句建一个表: [java] view plaincopy  hive>create table test(id int,name string)row format delimited fields ter...

spark的standalone模式下:查看任务结束后的历史记录

我想说4040端口太坑了,我运行wodcount案例,时间那么短,想去4040里查看任务具体运行情况,根本不可能。spark程序运行完毕后,就再无法通过4040端口看到什么了。今天我们通过修改spark的一些配置文件,使得我们的程序运行结束后,依然能够查看,并且通过WEBUI页面,可以看到一些详细内容,这对于我们的优化也有很大帮助。能够实现这个功能的就是H...

《图解Spark:核心技术与案例实战》介绍及书附资源

本书中所使用到的测试数据、代码、安装包及本书附录放在百度盘提供下载 ,链接: https://pan.baidu.com/s/1LP6PKGzIWQzF8e-dTklxkg 提取码: it28   为什么要写这本书 在过去的十几年里,由于计算机普遍应用和互联网的普及数据呈现了爆发式增长,在这个背景下Doug Cutting受到谷歌两篇论文(GFS和MapR...

Spark 性能相关参数配置详解-任务调度篇

随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。 由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便于...

修改CENTOS 环境变量

1. 之前发现PATH变量里有一部分路径有冗余,于是想恢复PATH,首先命令行下先执行以下命令 #PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 2. 重新source /etc/profile #set Ha...

Spark On Yarn:提交Spark应用程序到Yarn

转载自:http://lxw1234.com/archives/2015/07/416.htm 关键字:Spark On Yarn、Spark Yarn Cluster、Spark Yarn Client Spark On Yarn模式配置非常简单,只需要下载编译好的Spark安装包,在一台带有Hadoop Yarn客户端的机器上解压,简单配置之后即可使用...