Hadoop学习路线之HDFS、Yarn、HBase组件
来源:ITSTAR
一、上次课程复习
提几个要求:
1、仔细
2、对照视频和笔记,一步步操作和配置
二、免密码登录的原理和配置
步骤:ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@tanzhou111
三、Apache Hadoop的体系结构(重要)
(一)HDFS的体系结构
1、主从结构:主节点:NameNode
从节点:DataNode
SecondaryNameNode
2、NameNode
(1)职责:管理HDFS
接收客户端请求,比如:上传文件、下载文件
维护文件的元信息(fsimage文件)和操作日志(edits文件)
(2) 文件的元信息(fsimage文件): 记录了数据块的位置信息
(*) 位置:/root/training/hadoop-2.7.3/tmp/dfs/name/current/fsimage*****
(*) 二进制
(*) HDFS提供一个工具:image viewer ----> 转换成是一个文本文件(XML)
(3) 操作日志文件:edits文件,记录客户端的所有操作
(*) 位置:/root/training/hadoop-2.7.3/tmp/dfs/name/current/edits**** (*) 二进制
(*) HDFS提供一个工具:edits viewer ----> 转换成是一个XML文件
hdfs oev -i edits_inprogress_0000000000000000006 -o ~/c.xml
操作:hdfs dfs -mkdir /input
日志:
<RECORD>
<OPCODE>OP_MKDIR</OPCODE>
<DATA>
<TXID>7</TXID>
<LENGTH>0</LENGTH>
<INODEID>16386</INODEID>
<PATH>/input</PATH>
<TIMESTAMP>1504876545684</TIMESTAMP>
<PERMISSION_STATUS>
<USERNAME>root</USERNAME>
<GROUPNAME>supergroup</GROUPNAME>
<MODE>493</MODE>
</PERMISSION_STATUS>
</DATA>
</RECORD>
(4) fsimage文件和edits文件,哪个文件体现了HDFS最新的状态?
(*)edits文件记录了最新的状态
(*)定期将edits中日志合并到fsimage中
(5) NameNode为了提高查询fsimage文件中的元信息的性能,缓存1000M元信息
参数:hadoop-env.sh文件
# The maximum amount of heap to use, in MB. Default is 1000.
#export HADOOP_HEAPSIZE=
#export HADOOP_NAMENODE_INIT_HEAPSIZE=""
3、DataNode
(1)数据节点,伪分布环境1个,全分布环境至少2个
(2)按照数据块为单位保存在DataNode
hadoop 1.x: 64M
hadoop 2.x: 128M
(3)位置:
/root/training/hadoop-2.7.3/tmp/dfs/data/current/BP-1979204862-192.168.157.111-15047078 93298/current/finalized/subdir0/subdir0
(4)设置数据块的冗余度:一般数据块的冗余度跟数据节点的个数一致,最大一般不超过3
4、SecondaryNameNode:定期将edits中日志合并到fsimage中
(1)fsimage文件和edits文件,哪个文件体现了HDFS最新的状态? ----> edits体现最新的状态
(2)SecondaryNameNode进行日志合并过程
(二)Yarn的体系结构
1、是一个容器,装MapReduce程序
2、资源调度平台
3、主从结构:主节点:ResourceManager
从节点:NodeManager
4、Demo例子:WordCount程序
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/wc0908
日志:
7/09/08 22:17:14 INFO client.RMProxy: Connecting to ResourceManager at
/192.168.157.111:8032
17/09/08 22:17:34 INFO mapreduce.Job: map 0% reduce 0%
17/09/08 22:17:43 INFO mapreduce.Job: map 100% reduce 0%
17/09/08 22:17:55 INFO mapreduce.Job: map 100% reduce 100%
5、一个MR任务在Yarn中调度的过程
(三)HBase的体系结构
(四)主从结构的单点故障问题。