HDFS写数据流程:
-
客户端向NameNode请求写数据
-
NameNode判断客户端针对该文件是否有写的权限。没有则报错。再判断文件是否存在,不存在则报错,存在则通知客户端上传
-
HDFS客户端负责对文件进行切片。默认128m/块
-
客户端再次请求NameNode,上传第一个block块。
-
Namenode根据副本机制、负载均衡、机架感知原理和网络拓扑图,找到可以存放第一个block块的DataNode列表
-
客户端根据接收到的列表,连接最近的机器,然后依次和其他节点连接,形成对应的传输管道
-
采用数据报包的形式进行传输,并且使用ack确认机制(反向应答)
-
具体的传输过程:dn3告诉dn2,Dan2告诉dn1,dn1再告诉客户端,不断进行传输,直至第一个block传输完成
-
再重复4-8步,直至文件所有文件块传输完成✅
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)