HDFS的写流程

图解版
在这里插入图片描述
文解版:
(1)客户端先向namenode申请写入一个文件
hdfs dfs -put /etc/profile /a/b/c/a.txt 首先要确认目录是否存在
(2)Namenode会查看自己维护的目录树,确认目录是否存在,若存在,通知客户端可以进行上传
(3)客户端和namenode说我要上传第一个块,询问namendoe,第一个块存3份,存在哪儿
(4)Namenode查看自己块池的信息(均衡的分配),返回给客户端一个host列表,列表包含3个datanode
①就近原则
②第一个副本就近存放
③第二个副本存在与第一个块不同的机架上的随机一台计算机
④第三个副本存储在与第二个块相同的机架上随机一台机器上
⑤注:机架感知策略(了解)
(5)客户端就要和其中的一个datanode建立连接(就近原则)
(6)多个datanode节点组成一个pipline
(7)数据以packet的形式写入管道,并写入每个节点,在写当前节点的同时写给下一个节点
(8)直至这个块的最后一个packet写完,整个块完成,继续存储下一个块
(9)重复(3)-(8)的过程
(10)最后一个块完成后,更新元数据(内存元数据)

猜你喜欢

转载自blog.csdn.net/weixin_43562705/article/details/89420957
今日推荐