datanode工作机制详解
2017-11-14 12:38
120 查看
DATANODE的工作机制
问题场景:
1、集群容量不够,怎么扩容?
2、如果有一些datanode宕机,该怎么办?
3、datanode明明已启动,但是集群中的可用datanode列表中就是没有,怎么办?
1 概述
1、Datanode工作职责:
存储管理用户的文件块数据
定期向namenode汇报自身所持有的block信息(通过心跳信息上报)
(这点很重要,因为,当集群中发生某些block副本失效时,集群如何恢复block初始副本数量的问题)
2、Datanode掉线判断时限参数
datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。HDFS默认的超时时长为10分钟+30秒。如果定义超时时间为timeout,则超时时长的计算公式为:
timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval。
而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认为3秒。
需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒。所以,举个例子,如果heartbeat.recheck.interval设置为5000(毫秒),dfs.heartbeat.interval设置为3(秒,默认),则总的超时时间为40秒。
3.datanode工作机制
2)如果计算后的checksum,与block创建时值不一样,说明block已经损坏。
3)client读取其他DataNode上的block.
4)datanode在其文件创建后周期验证checksum
问题场景:
1、集群容量不够,怎么扩容?
2、如果有一些datanode宕机,该怎么办?
3、datanode明明已启动,但是集群中的可用datanode列表中就是没有,怎么办?
1 概述
1、Datanode工作职责:
存储管理用户的文件块数据
定期向namenode汇报自身所持有的block信息(通过心跳信息上报)
(这点很重要,因为,当集群中发生某些block副本失效时,集群如何恢复block初始副本数量的问题)
<property> <name>dfs.blockreport.intervalMsec</name> <value>3600000</value> <description>Determines block reporting interval in milliseconds.</description></property> |
datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。HDFS默认的超时时长为10分钟+30秒。如果定义超时时间为timeout,则超时时长的计算公式为:
timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval。
而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认为3秒。
需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒。所以,举个例子,如果heartbeat.recheck.interval设置为5000(毫秒),dfs.heartbeat.interval设置为3(秒,默认),则总的超时时间为40秒。
<property> <name>heartbeat.recheck.interval</name> <value>2000</value></property> <property> <name>dfs.heartbeat.interval</name> <value>1</value></property> |
数据完整性
1)当DataNode读取block的时候,它会计算checksum2)如果计算后的checksum,与block创建时值不一样,说明block已经损坏。
3)client读取其他DataNode上的block.
4)datanode在其文件创建后周期验证checksum
相关文章推荐
- 深入浅出之namenode工作原理剖析
- behavior3editor生成过程(备忘)
- node中的 await async 入门
- ROS学习笔记--清除一些僵尸node
- 从下载NodeJs开始到引入express模块最全的安装过程以及出现的所有问题
- 【nodejs --学习02】: node之process.argv动态接收参数处理
- Node.js使用Express.Router的方法
- NodeJs使用Express框架开发时的快速调试方法
- Node之简单的前后端交互(实例讲解)
- HDFS中NameNode启动过程
- leetcode — populating-next-right-pointers-in-each-node
- Node监控文件夹中的文件改变事件
- Node遍历目录中的文件
- webpack4+node合并资源请求, 实现combo功能(二十三)
- node.js通过GET和POST获得传输数据
- 升级nodejs, npm到某一版本
- 解决node-ffi在Windows XP上使用出现“Error: The specified procedure could not be found”的错误
- VINS_Mono,OpenCV Error: Bad argument (Invalid pointer to file storage) in cvGetFileNodeByName问题终于解决了
- node_modules
- Node.js umei图片批量下载Node.js爬虫1.00