HDFS 写流程
2022-07-06 11:22:07 8 举报
Hadoop HDFS 写流程
作者其他创作
大纲/内容
存储完成
开始
存储 package2 至内存与硬盘
依次读取文件 512B 字节,该段数据称为 chunk
计算 chunk 的校验和(类似取 hash),校验和为 4B 大小,称为 chunksum
建立 TCP 连接发送 package1 与[DataNode3]
建立 TCP 连接发送 package1
存储 package1 至内存与硬盘
循环读取直至packagge 写满
生成 package2
将文件拆分多个为 64M(体积可配置)的 blcok
客户端 client
package 写入流程
建立 TCP 连接发送 package2
存储 package3 至内存与硬盘
DataNode2
建立 TCP 连接发送 package3
HDFS 写流程(假设 block 设置 3 份副本)
检查元数据如:文件已存在,客户端无权限访问目录
生成 package3
结束
DataNode1
每个 blcok 拆分为 64KB 的 package
生成 package1
将 chunk + chunksum 合计 56B的数据写入 package
汇报持有的 block 情况
建立 TCP 连接发送 package2 与[DataNode3]
建立 TCP 连接发送 package3 与[DataNode3]
串联成为并行的 Pipeline ,减少了传输时间,且客户端无需与众多 DataNode 连接,无需管理副本执行成功率,减少复杂度。
按照副本放置策略,筛选出 DataNode 列表,列表按节点与客户端的距离排序
比对副本数量。数量不足要求 DataNode 复制
NameNode
收藏
0 条评论
下一页