|
2.5 YARN 工作流程- [; r0 Z/ Q; x; G% y+ s: t3 g, j0 }
运行在YARN上的应用程序主要分为两类: 短应用程序和长应用程序, 其中, 短应用程序是指一定时间内( 可能是秒级、 分
% j6 E" b1 |/ Y钟级或小时级, 尽管天级别或者更长时间的也存在, 但非常少) 可运行完成并正常退出的应用程序, 比如MapReduce作业( 将在
4 Z$ z- m+ } ^, U! f第8章介绍) 、 Tez DAG作业( 将在第9章介绍) 等, 长应用程序是指不出意外, 永不终止运行的应用程序, 通常是一些服务, 比( \/ v! _4 j( i* x! K
如StormService( 主要包括Nimbus和Supervisor两类服务) , HBase Service( 包括Hmaster和RegionServer两 类服务) [21] 等, 而它们9 Z. d: _8 C) z5 S6 D I# Y$ t; k
本身作为一个框架提供了编程接口供用户使用。 尽管这两类应用程序作用不同, 一类直接运行数据处理程序, 一类用于部署服务( U: S/ Y6 n7 S5 S
( 服务之上再运行数据处理程序) , 但运行在YARN上的流程是相同的。
! B. m5 Y8 S7 R4 `; [( l ? j当用户向YARN中提交一个应用程序后, YARN将分两个阶段运行该应用程序: 第一个阶段是启动ApplicationMaster; 第二个7 s- n H; |4 n3 V7 N; ^
阶段是由ApplicationMaster创建应用程序, 为它申请资源, 并监控它的整个运行过程, 直到运行完成。 如图2-11所示, YARN的工
1 s' B! E0 M* f' B, s5 p H+ l作流程分为以下几个步骤:
9 d! T( k! m+ c W+ S步骤1 用户向YARN中提交应用程序, 其中包括ApplicationMaster程序、 启动ApplicationMaster的命令、 用户程序等。2 V' x! w* K7 E0 E
步骤2 ResourceManager为该应用程序分配第一个Container, 并与对应的Node-Manager通信, 要求它在这个Container中启动应
* c% n. K3 X2 [2 Z用程序的ApplicationMaster。
* x& g0 g$ n) Y! H. ^步骤3 ApplicationMaster首先向ResourceManager注册, 这样用户可以直接通过ResourceManage查看应用程序的运行状态, 然
$ Y8 ]1 A; m1 D! _6 f. k, B后它将为各个任务申请资源, 并监控它的运行状态, 直到运行结束, 即重复步骤4~7。" q0 r! i' A5 \# ]& {5 I! j) U' _
步骤4 ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。! X# r8 E. r0 z+ i
步骤5 一旦ApplicationMaster申请到资源后, 便与对应的NodeManager通信, 要求它启动任务。
5 o5 ?! \+ E: o" h M- C) p2 v% I步骤6 NodeManager为任务设置好运行环境( 包括环境变量、 JAR包、 二进制程序等) 后, 将任务启动命令写到一个脚本
* C* W1 e" j6 [8 W中, 并通过运行该脚本启动任务。+ u4 \7 ` b) t. @* R2 U( w5 q2 Y( g
步骤7 各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度, 以让ApplicationMaster随时掌握各个任务的运
: E2 z' |7 `9 @* W5 J2 s* s% y行状态, 从而可以在任务失败时重新启动任务。
; W- {# V* M& E; S b在应用程序运行过程中, 用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。
: p, A- D. P- C( g& f# A, ]步骤8 应用程序运行完成后, ApplicationMaster向ResourceManager注销并关闭自己。
% u3 _" s* O4 F9 W图2-11 Apache YARN的工作流程7 I3 U6 p- |& o9 U3 R( H- J# m
[21] 关于"HBase On YARN"可阅读http://hortonworks.com/blog/hoya-hbase-on-yarn-application-architecture/。
0 s$ ^% n3 v3 Y2.6 多角度理 2 \ V4 R- k0 g
. i! o9 r7 d+ F; C8 \6 l: k& ^4 S" r- [5 o7 E! y
|
|