YARN的工作机制


​​​​​​​

  1. YARN是资源协调者(主管cup、内存)
  2. Application Master:单个任务的管理者
  3. Container:储存容器,相当于一台独立的服务器,里面装了任务运行所需要的资源,如内存,cpu,磁盘,网络。(任务申请到资源后在NM上启动的进程称为Container。比如Mapreduce中可以是Mapper或者Reduce,在Spark中可以是Driver或者Executor)
  4. 客户端可以多个;集群上可以运行多个AM;

每个Node Manager上可以有多个Container.

6、RM负责接收客户端提出的申请,并决定分配多少和调度到哪个Node Manager去执行;

     NM是真正执行任务的节点,周期性的向RM汇报自己资源使用情况并再次接受资源配,负责启动和停止相关的进程等工作(每个NM向RM汇报自己有多少vcore和内存可用)

7、计算机每个进程都会占用一定的CPU和内存,则需要向RM申请到资源才能获准在NM上启动自己的进程。

8、RM将整个资源分队列,并限制每个队列大小,防止某个用户将占满整个集群。

9、工作流程:

         客户端发出申请(用户程序、相关文件、启动ApplicationMaster命令、ApplicationMaster程序);AM先向RM注册那么客户端可以直接通过RM看到程序运行状态;AM采用轮询方式通过RPC协议向RM申请和资源领取;RM为该应用分配第一个Container,并要求该NM启动应用程序;任务启动后,NM为启动任务配置好运行环境,包括环境变量、JAR包、二进制程序等,并且将启动命令写在一个脚本里,通过脚本运行任务;各个任务通过RPC协议向其对应的AM汇报自己的运行状态和进度,让AM随时知道运行状态,从而任务失败后重启任务;应用程序运行完毕后,去对应的AM会向RM通信,要求注销和关闭自己。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

贺雨蒙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值