一、HDFS的写入数据的流程图

图片说明

二、HDFS异常写入数据的流程

和上面图的前1-6一样,就是第七步不一样!

第七步!

 1.在发送时,先将dataQuene中的packet按顺序发送,发送后再放入到ackquene中。
 2.每个节点在收到packet后,向客户端发送ack确认消息。
 3.如果一个packet在发送后,已经收到了所有DN返回的ack确认消息,这个packet会在ackQuene中删除。
 4.如果一个packet在发送后,在收到DN返回的ack确认消息时超时时!传输中止,ackQuene中的packet会回滚到dataQuene。
 5.重新建立通道,省略坏的DN节点。建立完成之后,继续传输。
 6.只要有一个DN节点收到了数据,DN上报NN已经收完此块,NN就认为当前块已经传输成功。
 注:NN会自动维护副本数。