HDFS 写数据流程_读数据流程详细图解
2022-06-24 16:13:28 0 举报
HDFS写数据流程:客户端将数据分成若干个块,然后将这些块发送给NameNode。NameNode将这些块分配到DataNode上,并将数据块的元数据存储在内存中。DataNode将数据块写入本地磁盘,并定期向NameNode发送心跳信号以报告其状态。 HDFS读数据流程:客户端向NameNode请求访问某个文件的数据块。NameNode返回文件的数据块的位置信息,客户端根据这些信息向相应的DataNode请求数据块。DataNode将数据块发送给客户端,客户端将数据块合并成完整的文件。
作者其他创作
大纲/内容
2.
FSDataOutputStream
chunk512byte
Packet 64k
DataNode1
7. 传输数据 Packet (64k)
8. packet ack
BLK1
BLK2
6. pipeline ack
AckQueue
write
NameNode
close
9. 请求建立 Block 传输通道(Socket)
5. 请求建立 Block 传输通道(Socket)
DistributedFileSystem
2. 检查目录树是否可以创建文件 a. 检查权限 b. 检查目录结构(目录是否存在) c. 检查目标文件是否已存在
Block
Packet1
1.
10. pipeline ack
HDFS 写数据流程详细图解——宏观
DataNode3
4. DN1 DN2 DN5
4. 根据机架感知策略 a. 本地节点 | 资源丰富且不繁忙的节点 b. 选择和第一个节点不同机架的其他节点 c. 与第二个节点相同机架的其他节点
Packet2
HDFSClient
BLK3
DataStreamer
9. 删除
checksum4byte
ResponseProcessor
FSDataInputStream
open
HDFS 写数据流程详细图解——微观
read
4. NameNode 会返回 Block 所有副本位置。span style=\
DataNode5
9. Block2 上传到哪里……
Client
DataNode4
DataNode2
1. 发起文件上传请求(RPC create)
3. Block1 上传到哪里
1. 发起文件读取请求(RPC open)
3. Block1 从哪里读取
8. Block2 从哪里读取……
DataQueue
2. 响应检查结果
7. 读取数据 Packet (64k)
HDFS 读数据流程详细图解
create
0 条评论
下一页