元数据合并流程
HDFS的读写过程
shuffle过程
job提交流程
元数据合并流程 CheckPoint
edits:日志的元数据
fsImage :镜像的元数据
1)snn会向namenode发送元数据是否合并的检查 1min检查一次
2)namenode需要元数据合并 会向snn进行相应
3)snn向namenode发送元数据合并的 请求
4)namenode将正在编辑的元数据的日志文件进行回滚 变成一个历史日志文件,同时会
生成一个新的正在编辑的日志文件
5)snn将fsimage文件和edits文件拉取到snn的本地
6)snn将上面的文件加载到内存中进行合并 根据edits的操作日志修改fsimage文件
7)合并完成,将合并完成的文件发送给namenode,重命名,生成最新的fsiamge文件 本地也会保存一个
HDFS读写数据流程
写数据
1、 client 发写数据请求
2、 namenode 相应请求,然后做一系列校验,如果能上传该数据,则返回该文件的所有切
块应该被存在哪些 datanode 上的 datanodes 列表
blk-001:hadoop02 hadoop03
blk-002:hadoop03 hadoop04
3、 client 拿到 datanode 列表之后,开始传数据
4、 首先传第一块 blk-001, datanode 列表就是 hadoop02,hadoop03, client 就把 blk-001 传到
hadoop02 和 hadoop03 上
5、 ……… 用传第一个数据块同样的方式传其他的数据块
6、 当所有的数据块都传完之后, client 会给 namenode 返回一个状态信息,表示数据已全
部写入成功,或者是失败的信息
7、 namenode 接收到 client 返回的状态信息来判断当次写入数据的请求是否成功,如果成
功,就需要更新元数据信息
读数据
1、使用 HDFS 提供的客户端 Client,向远程的 nameno