HDFS的体系结构和运行原理

1. 主节点:NameNode

    (*)职责:管理HDFS

                      接受客户端的请求:文件上传、文件下载

                      管理和维护日志(edits文件)和元信息(数据块的位置信息:fsimage文件)

      (*) HDFS的日志:edits文件

                    举例:创建目录  ----> 产生日志

                    hdfs dfs -mkdir /mydemo1

                    查找edits文件:find .  -name edits*

                 (1) edits_inprogress_0000000000000000105是二进制文件

                   (2)   HDFS提供一个工具:edits viewer 日志查看器,转换成XML文件

                        命令: hdfs oev -i edits_inprogress_0000000000000000105 -o ~/a.xml

                         内容如下:

                                     <RECORD>
<OPCODE>OP_MKDIR</OPCODE>
<DATA>
  <TXID>107</TXID>
  <LENGTH>0</LENGTH>
  <INODEID>16416</INODEID>
  <PATH>/mydemo1</PATH>
  <TIMESTAMP>1512565581211</TIMESTAMP>
  <PERMISSION_STATUS>
<USERNAME>root</USERNAME>
<GROUPNAME>supergroup</GROUPNAME>
<MODE>493</MODE>
  </PERMISSION_STATUS>
</DATA>

  </RECORD>

            (*)HDFS的元信息:fsimage文件:记录数据块的位置信息、冗余信息等

                       查找fsimage文件:find . -name fsimage*    这个文件也是二进制的

                      HDFS也提供了一个工具:image viewer,可以把fsimage文件转换成文本,XML的文件

2.从节点:DateNode

            (*)按数据块保存数据:1.x:  64M    2.x: 128M

              (*)  数据块在操作系统的位置:

                       find . -name blk*

 /root/training/hadoop-2.7.3/tmp/dfs/data/current/BP-156326068-192.168.157.11-      1512395988927/current/finalized/subdir0/subdir0

           (*)设置数据块冗余度的基本原则

  一般,冗余度跟数据节点的个数一样,最大不要超过3

3、第二名称节点:SecondaryNameNode,默认就跟NameNode在一起
(*)职责:定期进行日志信息的合并,edits ---> fsimage中   (edits文件体现了HDFS的最新状态)

(*)掌握日志合并过程

          

                          

               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值