HDFS的体系结构

  • 在HDFS中使用的是主从结构,即一个主节点,多个从节点。
  • 在HDFS中主要包含四部分:Client(Shell命令/API/Java Application)、NameNode、DataNode、SecondaryNameNode。
  • NameNode节点负责维护DataNode上各个块的metadata以及整个HDFS的目录树结构,并且还会将内存中的块的metadata以及fsimage、edits等持久化文件进行备份,以防宕机时数据丢失。
  • fsimage文件中保存了整个HDFS中的目录树结构、我们的数据文件分成了哪些块以及块的位置等信息。
  • edits文件中存储的是用户对HDFS中的数据/文件执行的操作,当用户对HDFS的数据\文件进行修改或者添加、删除等操作时,并不会立刻去执行这些操作,而是先将这些操作记录在edits文件中。满足一定条件后,会将当前的edits文件中的操作合并为fsimage文件,并创建一个新的edits文件来记录从这次合并之后又产生的新的数据操作。合并文件是为了减小edits文件的大小,以减少下次启动服务时复盘上次最后一个edits文件所消耗的时间。
  • DataNode是真正负责客户端的读写请求的,并实际存储数据的节点,在NameNode的调度安排下,进行数据块的创建、复制等操作。DataNode会定时向NameNode发送心跳以汇报自己当前状态,当某个DataNode很久没有发送心跳时,NameNode会将该节点标记为宕机状态,并不再为该节点分配请求。
  • 非第一次启动集群时,NameNode会先将序号最大的fsimage文件加载到内存中,这样就会将上次持久化下来的最新的目录树结构、块的信息等数据加载进来。然后将edit中的最新序号的文件也加载进来,也就是将数据操作执行一下,以保证整个集群的状态是和上次服务停掉前的状态是一致的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QYHuiiQ

听说打赏的人工资翻倍~

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

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

打赏作者

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

抵扣说明:

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

余额充值