DataNode工作机制
数据节点。就是Slave,实际存储数据块的节点,Namenode下达命令,DataNode执行实际操作。
1、存储管理用户的文件块数据
2、定期向 namenode 汇报自身所持有的 block 信息(通过心跳信息上报)
一个数据块在DataNode上以文件形式存储在对应服务器的磁盘上。
包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。
DataNode 启动后向 NameNode 注册,通过后,周期性(1 小时)的向 NameNode上报所有的块信息
心跳是每 3 秒一次,心跳返回结果带有 NameNode 给该 DataNode 的命令如复制块数据到另一台机器,或删除某个数据块。如果超过 10 分钟没有收到某个DataNode 的心跳,则认为该节点不可用。
集群运行中可以安全加入和退出一些机器。
datanode掉线判断时限参数
datanode 进程死亡或者网络故障造成 datanode 无法与 namenode 通信,namenode 不会立即 把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。HDFS 默认的超时时长 为 10 分钟+30 秒。如果定义超时时间为 timeout,则超时时长的计算公式为: timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval
而默认的
heartbeat.recheck.interval 大小为 5 分钟
dfs.h

DataNode作为Hadoop HDFS的 Slave节点,负责存储用户文件块数据并定期向Namenode汇报block信息。心跳每3秒发送一次,若10分钟内未收到心跳,Namenode将判定DataNode为不可用。超时判断参数包括heartbeat.recheck.interval(默认5分钟,单位毫秒)和dfs.heartbeat.interval(默认3秒,单位秒),总超时时间为两者之和再加10倍心跳间隔。
最低0.47元/天 解锁文章
473

被折叠的 条评论
为什么被折叠?



