大数据学习之四 HDFS流程图解,网络拓扑,机架感知
HDFS读操作

流程解析:
- 客户端(client)向NameNode请求上传文件,NameNode检查目标文件是否已经存在,父目录是否已经存在。
- NameNode返回是否可以上传文件。
- 客户端请求第一个block(块,默认128MB)要上传到哪几个DataNode上。
- NameNode返回3个DataNode节点,分别为datanode1,datanode2,datanode3。
- 客户端请求datanode1上传数据,datanode1收到请求会继续调用datanode2,然后datanode2再继续调用datanode3,将这个通信管道建立完成
- datanode1,datanode2,datanode3逐级应答客户端
- 客户端开始往datanode1上传输第一个block(先从磁盘读取数据放到一个本地内存中缓存),以packet为单位,datanode1收到一个packet就会传给datanode2,datanode2再传给datanode3;datanode1没传递一个packet就会放入一个应答队列中等待应答。
- 当一个block传输完毕之后,客户端再次请求NameNode上传第二个block的服务器。(重复执行3-7步)
HDFS写操作

流程解析:
- 客户端向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。

本文详细介绍了HDFS的读写操作流程,包括客户端如何与NameNode交互,DataNode间的通信以及数据传输过程。同时,探讨了网络拓扑中的节点距离概念,并解析了Hadoop的机架感知机制,包括不同版本中副本节点的选择策略。
最低0.47元/天 解锁文章
576

被折叠的 条评论
为什么被折叠?



