yarn学习

本文详细介绍了YARN架构及执行流程,包括用户如何提交应用程序、资源分配与任务调度过程,以及Container和Vcore的调优策略。同时,探讨了FIFO、Capacity和Fair三种调度器的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.yarn架构

2.yarn执行流程

  1. 用户向Yarn的RM提交应用程序,其中包括
    ApplicationMaster程序,启动ApplicationMaster命令等

    2.RM首先为该app程序分配第一个container容器,并与对应的NM通信,要求NM在这个Container中启动应用程序的application master

    3.App master首先向Apps manager注册,这样的话,我们就可以通过web 8088,查看应用程序的运行状态,且监控它的运行状态

    4.ApplicationMaster向Resource Scheduler申请和领取资源

    5.一旦ApplicationMaster申请到资源后,便与对应的NM通信,要求它启动任务

    6.NM节点启动container容器,运行task任务

    7.各个容器的任务,通过rpc向app master汇报自己的状态和进度,以让APP master随时掌握各个任务的运行状态,从而在任务失败时 重启任务。
    那么用户可以通过web界面实时查看应用的当前运行状态

    8.app运行完成后,app master向 apps manager注销并关闭

3.调优

 0)Container调优


定义:

Container:容器  Yarn的资源的抽象,
封装了某个节点的多维度资源,如内存 cpu,磁盘,网络
当AM向RM申请资源时,RM为AM返回的资源就是使用container来标识

1)例如:

48G内存:
25%给Linux  
75%给大数据进程 : 36G内存
DN:  4G 设置:hadoop-env.sh 重启生效

NM:  2G    设置:yarn-env.sh 重启生效

还剩: 36-4-2=30G 是给容器的

一大瓶装的29L
小瓶的规格29L 1瓶 1个container
小瓶的规格8L  3瓶 3个container 33.3
小瓶的规格3L  10瓶 10个container 10

内存:

yarn.nodemanager.resource.memory-mb   30G--总内存
yarn.scheduler.minimum-allocation-mb  2G--最小内存(生产上)
yarn.scheduler.maximum-allocation-mb  30G--最大内存(一般==总内存)

2) 数据本地化:DN和NM在一个节点上

3)Vcore(虚拟core):

如:根据设置core:VCore=1:2 比例 把物理内存虚拟化出2*Core个Vcore




4.yarn调度器

    

    1).FIFO:先进先出

    

    2).Capacity:计算

    3).Fair:公平(生产上使用)




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31558266/viewspace-2216342/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31558266/viewspace-2216342/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值