ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hadoop——Yarn(4)

2022-01-16 21:59:52  阅读:220  来源: 互联网

标签:作业 Hadoop MapTask 调度 Yarn RM NodeManager


Hadoop——Yarn(4)

文章目录

1.Yarn基础架构

Yarn主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件 构成。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q1py1nTW-1642340982629)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116211924585.png)]

2.Yarn工作机制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICb0lrzT-1642340982630)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116212143756.png)]

(1)MR程序提交到客户端所在的节点.
(2)YarnRunner向ResourceManager申请一个Application
(3)Rm将应用程序的资源路径返回给YarnRunner
(4)该程序将运行所需资源提交到HDFS上
(5)程序资源提交完毕后,申请运行mrAppMaster
(6)RM将用户的请求初始化成一个Task
(7)其中一个NodeManager领取到Task任务
(8)该NodeManager创建容器Container,并产生MRAppmaster
(9)Container从HDFS上拷贝资源到本地
(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 申请注销自己。

3.作业提交全过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kI8Sp1Gk-1642340982631)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116213754238.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H4UOKCU8-1642340982631)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116213802174.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KT02nSdT-1642340982632)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116213810132.png)]

(1)作业提交
第 1 步:Client 调用 job.waitForCompletion 方法,向整个集群提交 MapReduce 作业。
第 2 步:Client 向 RM 申请一个作业 id。
第 3 步:RM 给 Client 返回该 job 资源的提交路径和作业 id。
第 4 步:Client 提交 jar 包、切片信息和配置文件到指定的资源提交路径。
第 5 步:Client 提交完资源后,向 RM 申请运行 MrAppMaster。

(2)作业初始化
第 6 步:当 RM 收到 Client 的请求后,将该 job 添加到容量调度器中。
第 7 步:某一个空闲的 NM 领取到该 Job。
第 8 步:该 NM 创建 Container,并产生 MRAppmaster。
第 9 步:下载 Client 提交的资源到本地。

(3)任务分配
第 10 步:MrAppMaster 向 RM 申请运行多个 MapTask 任务资源。
第 11 步:RM 将运行 MapTask 任务分配给另外两个 NodeManager,另两个 NodeManager
分别领取任务并创建容器。

(4)任务运行
第 12 步:MR 向两个接收到任务的 NodeManager 发送程序启动脚本,这两个
NodeManager 分别启动 MapTask,MapTask 对数据分区排序。
第13步:MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。
第 14 步:ReduceTask 向 MapTask 获取相应分区的数据。
第 15 步:程序运行完毕后,MR 会向 RM 申请注销自己。

(5)进度和状态更新
YARN 中的任务将其进度和状态(包括 counter)返回给应用管理器, 客户端每秒(通过
mapreduce.client.progressmonitor.pollinterval 设置)向应用管理器请求进度更新, 展示给用户。

(6)作业完成
除了向应用管理器请求作业进度外, 客户端每 5 秒都会通过调用 waitForCompletion()来
检查作业是否完成。时间间隔可以通过 mapreduce.client.completion.pollinterval 来设置。作业
完成之后, 应用管理器和 Container 会清理工作状态。作业的信息会被作业历史服务器存储
以备之后用户核查。

4.调度器和调度算法

目前Hadoop作业调度器主要有三种:FIFO,容量(Capacity Scheduler)和公平(Fair Scheduler)
Apache Hadoop3.13默认:Capacity Scheduler
CDH框架默认调度器是:Fair Scheduler

4.1先进先出调度器(FIFO)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VmgDnzll-1642340982632)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116214345775.png)]

4.2容量调度器(Capacity Scheduler)

Yahoo开发的多用户调度器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bv3d5RBr-1642340982633)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116214509838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQlGAnZ5-1642340982633)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116214519021.png)]

4.3公平调度器(Fair Scheduler)

Facebook开发的多用户调度器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LrO37rus-1642340982634)(C:\Users\Admin\AppData\Roaming\Typora\typora-user-images\image-20220116214610156.png)]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.Yarn生产环境核心参数

在这里插入图片描述

标签:作业,Hadoop,MapTask,调度,Yarn,RM,NodeManager
来源: https://blog.csdn.net/mynameisgt/article/details/122529671

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有