YARN流程

1. YARN介绍

  • YARN负责资源调度和分配:用户程序(mapreduce/storm/spark等)向YARN申请资源,YARN负责资源分配
  • YARN有两种角色:ResourceManager(主)、NodeManager(从)
  • 端口:8088
  • 启动:start-yarn.sh

 

2. YARN流程

  • 客户端运行job.waitForCompletion()

调用job.submit(),产生job信息(包/分片/配置信息),还产生YarnRunner(客户端和Yarn打交道)

  • 客户端(YarnRunner)向ResourceManeger(rm)申请运行一个job
  • rm就返回一个jobid和job资源提交路径(hdfs://...)
  • 客户端提交job资源到hdfs上的指定路径
  • 客户端告诉mr资源提交成功
  • rm就初始化任务信息,并把任务加载到任务调度队列
  • NodeManager(nm)从rm领取任务
  • nm去hdfs上获取job信息,根据信息创建一个容器(container)

 

  • 客户端发送shell命令到nm,来启动一个MrAppMaster(mr)
  • mr向rm申请资源(申请几个nm上的容器)
  • rm根据mr的申请,创建任务,加载到任务调度队列
  • nm领取任务,创建容器
  • mr启动MapTask(启动ReduceTask)

 

  • 运算结束后,mr通知rm注销自身,让rm回收资源

          

 

3. 任务调度

  • 先进先出(默认)
  • 容量调度器:一个大队列(处理大任务)、一个小队列(处理小任务。没有小任务时,仍然预留着这些资源)
  • 公平调度器:有小任务后,动态分配一些资源给这个小任务

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值