HDFS 从客户端写入到 DataNode 时,ACK 是否三个备份都写成功之后再确认成功操作?

ACK 是否三个备份都写成功之后再确认成功操作?

不是的,只要成功写入的节点数量达到dfs.replication.min(默认为1),那么就任务是写成功的

正常情况下:

① 在进行写操作的时候(以默认备份3份为例),DataNode_1接受数据后,首先将数据写入buffer,再将数据写入DatNode_2,写入成功后将 buffer 中的数据写入本地磁盘,并等待ACK信息

② 重复上一个步骤,DataNode_2写入本地磁盘后,等待ACK信息

③ 如果ACK都成功返回后,发送给Client,本次写入成功

如果一个节点或多个节点写入失败:

① 只要成功写入的节点数量达到dfs.replication.min(默认为1),那么就任务是写成功的。然后NameNode会通过异步的方式将block复制到其他节点,使数据副本达到dfs.replication参数配置的个数


1、HDFS写文件过程分析
http://shiyanjun.cn/archives/942.html

2、Hadoop Pipeline详解
http://dj1211.com/?p=178


1、Hadoop深入学习:解析HDFS的写文件流程
http://flyingdutchman.iteye.com/blog/1900536

2、HDFS 1. 读写流程剖析
https://www.jianshu.com/p/7d1bdd23c460

3、HDFS 异常处理与恢复
http://www.cnblogs.com/mindwind/p/4833098.html


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值