HDFS工作原理以及流程

本文详细介绍了HDFS的工作流程,包括数据分块、复本放置策略、Datanode上传数据的过程以及Namenode如何管理元数据。讨论了Namenode与Secondarynamenode在checkpoint过程中的角色,解释了何时进行checkpoint以及如何处理Datanode宕机的情况。
摘要由CSDN通过智能技术生成

1.Datanode进行上传数据流程
1.client node 向Namenode发起请求
在这里插入图片描述
2.Nomenode通过验证,向client node节点返回信息。
信息包含:1.同意上传文件 2.上传的文件被分成几个block
【分块的好处:1.由整化零,分块存储更加方便。
2.磁盘最少能分多少个块可以事先知道。】
【分块的大小:hadoop2上默认为128M hadoop1中默认为为64M

3.【为什么选取128M作为分块的大小:1.要去读取速度要快,所有不宜设置太大。2.
同时如果设置过小,会产生太多的小文件,同样影响读取速度。】

3.每个block存储在哪个datanode上
3.client依次以block上传数据
4.在datanode之间建立管道流(pipe line),将块以packet为单位依次写入第一个datanode,第二个datanode,及第三个datanode.写入的时候会以chunk来进行校验。
5.返回写入结果是否成功

在这里插入图片描述
由此过程进行引申:
1.根据我们hadoop的 默认设定,每一个block应该有三份复本,那么复本到底应该放置在哪三个不同的datanode上呢?
解释这个问题前首先要说明“集群“”.集群一般包含【节点 机架(机柜)机房 数据中心】四个层次。
并且我们的hadoop可以实现机架感知
一个datanode即为一个节点。我们在进行block的放置时遵循的原则有两种解释
①官方文档版本:
1.以client node节点所在机架中的随机一个剩余容量充足的节点放置第一复本
2.以client node节点所在机架中的随机一个剩余容量充足的节点放置第二个复本
3.以client node节点所在机架之外的其他机架上选一个剩余容量充足的节点放置第三个复本
②技术大牛编写的权威证书:
1.以client node 节点所在机架中随机一个剩余容量充足的节点放置第 一个复本
2.以client node节点所在机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值