HDP2: HDFS 写、读、CheckPoint流程、元数据内容(内存元数据、元数据文件)

一、HDFS写流程

租约检查参照:HDFS租约机制: HDFS写BLock块及数据同步到磁盘时如何保证数据一致性

流程:

1.客户端向NameNode通信请求上传文件,附带path

2.namenode进行检查

检查的内容:

3.NameNode返回是否可以上传

4.得到肯定回复后,客户端切块,再次请求存放的datanode地址。

5.响应返回给客户端dn1,dn2,dn3的地址

6.客户端向datanode请求建立管道:DataNode 1收到请求会继续调用DataNode 2,然后DataNode 2调用DataNode 3,将整个pipeline建立完成,然后逐级返回客户端。地址使用队列存储,dn1使用pop方法取出并删除第一个值,将队列传输给dn2...

7.datanode检查自身是否能够存储,响应给客户端

8.开始传输数据,以pocket为单位

9.dn1将pocket以此传给dn2,dn2传给dn3

10.传输完成,返回确认信息。将管道删除,然后根据副本数做自动平衡。

二、HDFS读流程

 

1、与NameNode通信查询元数据,找到文件块所在的DataNode服务器

2、挑选一台DataNode(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode)服务器,请求建立socket流

3、DataNode开始发送数据(从磁盘里面读取数据放入流,以packet(一个packet为64kb)为单位来做校验)

4、客户端以packet为单位接收,先在本地缓存,然后写入目标文件

三、checkpoint流程

可在hdfs-size.xml里指定secondarynamenode节点位置。

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>linux01:50090</value>
</property>

1.当记录的条数达到100W条或者时间达到3600S时提示namenode进行checkpoint

2.edits_inpogress停止记录,将记录拷贝到edits_00000n里

3.将edits_00000n拷贝到sn,将fsimage拷贝到sn(如果sn没有启动,那么此步骤由namenode执行)

4.内存将edits与fsimage的内容进行整合,得到新的fsimage。

5.把新的fsimage传给namenode checkpoint完成

四、元数据内容

从形式上讲,元数据可分为内存元数据和元数据文件两种。其中NameNode在内存中维护整个文件系统的元数据镜像,用于HDFS的管理;元数据文件则用于持久化存储。

从类型上讲,元数据有三类重要信息:

  • 第一类是文件和目录自身的属性信息,例如文件名、目录名、父目录信息、文件大小、创建时间、修改时间等。
  • 第二类记录文件内容存储相关信息,例如文件块情况、副本个数、每个副本所在的Data Node 信息等。
  • 第三类用来记录HDFS中所有Data Node信息,用于Data Node管理。

磁盘元数据文件包括以下四个

  • fsimage:元数据镜像文件。
  • edits:日志文件。
  • fstime:保存最近一次Checkpoint的时间。
  • VERSION:标志性文件,最后被创建,它的存在表明前三个元数据文件的创建成功。

fsimage是HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息;而edits保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等等。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pub.ryan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值