HDFS Pipeline Recovery

本文介绍了HDFS中pipeline的写入过程,包括setup、data streaming和close三个阶段。在pipeline出现错误时,有不同的恢复策略:对于setup错误,新写文件会重新设置pipeline,追加文件则移除出错DataNode;data streaming错误时,出错DataNode会自动退出,Client重建并重发未确认的数据;close阶段出错影响较小,仍可重建pipeline完成后续操作。此外,还讨论了DataNode失败后的替换策略。
摘要由CSDN通过智能技术生成

pipeline 写入的三个阶段


1.pipeline setup:Client 发送一个写请求沿着 pipeline 传递下去,最后一个 DataNode 收到后发回一个确认消息。Client 收到确认后,pipeline 设置准备完毕,可以往里面发送数据了。


2.data streaming:Client 将一个 block 拆分为多个 packet 来发送(默认一个 block 64MB,太大所以需要拆分)。Client 持续往 pipeline 发送 packet,在收到 packet ack 之前允许发送 n 个 packet,n 就是 Client 的发送窗口大小(类似 TCP 滑动窗口)


3.close:Client 在所有发出的 packet 都收到确认后发送一个 Close 请求,
pipeline 上的 DataNode 收到 Close 后将相应 replica 修改为 FINALIZED 状态,并向 NameNode 发送 block 报告。NameNode 将根据报告的 FINALIZED 状态的 replica 数量是否达到最小副本要求来改变相应 block 状态为 COMPLETE。

 

HDFS Pipeline Recovery

 

从 pipeline setup 错误中恢复

在 pipeline 准备阶段发生错误,分两种情况:

  1. 新写文件:Client 重新请求 NameNode 分配 block 和 DataNodes,重新设置 pipeline。
  2. 追加文件:Client 从
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值