Quantcast
Channel: 容器云计算,Devops,DBA,网络安全。
Viewing all articles
Browse latest Browse all 780

Hadoop3.x 作业提交全过程-尚硅谷资料

$
0
0

Hadoop3.x  作业提交全过程-尚硅谷资料


image.png

image.png



image.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 将运行 MapTas任务分配给另外两个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 会清理工作状态。

作业的信息会被作业历史服务器存储 以备之后用户核查。



Viewing all articles
Browse latest Browse all 780

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes