DataNode

DataNode

DataNode心跳机制

  1. DN第一次启动的时候(全新的状态下),会向NN注册
  2. 注册成功之后,每周期(时间可变)向NN上报块信息
  3. 每3秒发送以此心跳:心跳返回结果导游NN给该2DN的命令
  4. 如果有DN与NN失联了,NN超过10分钟没有收到来自DN的心跳,则认为该节点不可用在这里插入图片描述
    • DN进程死亡或者网络故障造成DN无法与NN通信
    • NN不会立即把该节点判定为死亡,要经过一段时间,这段称作超时时长
    • HDFS默认超时时长为10分钟+30秒
    • 超时时长(TimeOut)计算公式为:2 * dfs.namenode.heartbeat.recheck-interval(重新检查心跳间隔默认5分钟) + dfs.heartbeat.interval(心跳默认3秒)

校验和

DataNode的数据完整性

​ IO操作过程中难免会出现数据丢失或脏数据,数据传输得量越大出错得几率越高。同理DataNode节点上的数据损坏了,如果没有发现,是很危险的,那么DN是如何解决的

  1. 当DN读取块儿的时候,它会计算CheckSum(一般数据用crc校验,元数据用md5)。
  2. 如果计算后的CheckSum,与块创建时值不一样,说明其已经损坏。
  3. Client读取其他DN上的块。
  4. DN在其创建后周期性验证CheckSum。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值