HDFS读写流程、YARN_MR提交运行流程

本文详细介绍了HDFS的写入与读取流程,包括客户端如何与NameNode交互并选择合适的DataNode进行操作。此外,还阐述了YARN_MR任务提交运行的流程,涉及ResourceManager、AppMaster和NodeManager之间的协调工作。

HDFS 写入流程:

在这里插入图片描述

  • step1:客户端会请求NameNode写入HDFS,NameNode会验证请求是否合法,返回结果
    • NameNode验证写入的文件是否存在、有没有权限写入等等
    • 如果不合法,直接拒绝请求
  • step2:NameNode返回对应的结果,构建这个文件的元数据:并没有跟块关联
  • step3:客户端提交第一个块的写入请求给NameNode
  • step4:NameNode根据每个DN的健康状态以及负载情况返回三台DataNode 地址
    • blk1-0:node1
    • blk1-1:node2
    • blk1-2:node3
    • 机架感知的分配规则
      • 客户端所在的机架放一份
      • 另外两份在另外一个机架中
  • step5:客户端得到要写入数据块的三台DN地址,客户端会连接第一台【离它最近的那台】,提交写入
    • 由机架感知决定谁最近
  • step6:三台DN构建一个数据传输的管道
  • step7:客户端将这个块拆分成多个packet【64k】,挨个发送个最近的这台DN1
  • step8:逐级返回写入成功的ack确认码,表示这个包写入完成
  • step9:不断发送下一个包,直到整个块写入完成,返回给NameNode,关联元数据
  • step10:重复3提交下一个块写入

HDFS 读取流程:在这里插入图片描述

  • step1:客户端提交读取请求给NameNode
  • step2:NameNode会验证这个请求是否合法,如果合法,会查询元数据
  • step3:NameNode会返回所有块的所有地址
    • blk1:node1,node2,node3
    • blk2:node4,node5,node6
    • blk3:node7,node8,node9
  • step4:客户端拿到列表,会根据机架感知从每个块的列表中,选择离自己最近的节点去请求读取
    • blk1:node1
    • blk2:node5
    • blk3:node9
  • step5:客户端会将所有块进行合并返回给用户

YARN_MR提交运行流程:

在这里插入图片描述

  • step1:客户端提交运行一个MapReduce的程序给YARN,YARN会检查请求是否合法
  • step2:如果合法,RM会随机选择一台NodeManager启动这个程序的管理者:AppMaster
    • AppMaster每一个程序都有一个
    • 负责这个程序的资源申请、Task的运行、Task的监控,运行的汇报
  • step3:APPMaster会向ResourceManager申请指令和资源信息,获取如何运行这个程序的信息
  • step4:ResourceManager根据Task的情况分配运行的节点以及资源的信息,以Container的形式返回
    • Contiainer:信息包,记录每个Task运行的节点、处理的数据、运行的逻辑、资源
      • 也是MapTask和ReduceTask的父进程
  • step5:APPMaster将指令和container信息分发给对应的NodeManager,每个NodeManger根据指令和资源来启动对应的Task进程
  • step6:MapTask运行结束后,会通知AppMaster,APPMaster会通知ReduceTask到MapTask中拉取数据
  • step7:ReduceTask到每个MapTask中拉取数据,并执行处理,最后运行结束,将结果返回给APPMaster
  • step8:最终结果返回给客户端
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间清醒vv子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值