Yarn 笔记一

1.Yarn架构

ResourceManager(rm) 处理客户端请求、启动 / 监控 ApplicationMaster 、监控 NodeManager 、资源分配与调度;
NodeManager(nm) 单个节点上的资源管理、处理来自 ResourceManager 的命令、处理来自ApplicationMaster的命令;
ApplicationMaster(am) 数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
Container 对任务运行环境的抽象,封装了 CPU 、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
 
2.Yarn任务提交 (工作机制)
作业提交过程之 YARN
 
作业提交
1 步: Client 调用 job.waitForCompletion 方法,向整个集群提交 MapReduce 作业。
2 步: Client RM 申请一个作业 id
3 步: RM给Client返回该job资源的提交路径和作业id。
4 步: Client 提交 jar 包、切片信息和配置文件到指定的资源提交路径。
5 步: Client 提交完资源后,向 RM 申请运行 rAppMaster
作业初始化
6 步:当 RM 收到 Client 的请求后,将该 job 添加到容量调度器中。
7 步:某一个空闲的 NM 领取到该 Job
8 步:该 NM 创建 Container ,并产生 MRAppmaster
9 步:下载 Client 提交的资源到本地。
任务分配
10 步: MrAppMaster RM 申请运行多个 MapTask 任务资源。
11 步: RM 将运行 MapTask 任务分配给另外两个 NodeManager ,另两个 NodeManager 分别领取任务并创建容器。
任务运行
12 步: MR 向两个接收到任务的 NodeManager 发送程序启动脚本,这两个 NodeManager分别启动MapTask MapTask 对数据分区排序。
13 步: MrAppMaster 等待所有 MapTask 运行完毕后,向 RM 申请容器,运行 ReduceTask
14 步: ReduceTask MapTask 获取相应分区的数据。
15 步:程序运行完毕后, MR 会向 RM 申请注销自己。
进度和状态更新
YARN 中的任务将其进度和状态返回给应用管理器 , 客户端每秒 ( 通过 mapreduce.client.progressmonitor.pollinterval设置 ) 向应用管理器请求进度更新 , 展示给用户。
作业完成
除了向应用管理器请求作业进度外 , 客户端每 5 秒都会通过调用 waitForCompletion() 来检查作业是否完成。时间间隔可以通过mapreduce.client.completion.pollinterval 来设置。作业完成之后, 应用管理器和 Container 会清理工作状态。作业的信息会被作业历史服务器存储以备之后用户核查。
 
3.Yarn调度策略
1.
FIFO( 先进先出调度器 )
2. 容量调度器(Capacity Scheduler 默认的调度器) 队列内部FIFO

3.Fair Scheduler(公平调度器,CDH 版本的 hadoop 默认使用的调度器)
 
Fair 调度器的设计目标是为所有的应用分配公平的资源(对公平的定义可以通过参数来设置)。公 平调度在也可以在多个队列间工作。举个例子,假设有两个用户A B ,他们分别拥有一个队列。 当A 启动一个 job B 没有任务时, A会获得全部集群资源 ;当 B 启动一个 job 后, A job 会继续运行, 不过一会儿之后两个任务会各自获得一半的集群资源 。如果此时B 再启动第二个 job 并且其它job还在运行,则它将会和 B 的第一个 job 共享 B 这个队列的资源, 也就是B的两个job会用于四分之 一的集群资源 ,而A job 仍然用于集群一半的资源,结果就是资源最终在两个用户之间平等的共
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值