关于spark:Spark-Application注册

4次阅读

共计 924 个字符,预计需要花费 3 分钟才能阅读完成。

Spark Submit 应用中提到了在 standalone 模式下,通过 spark-submit 提交集群中的应用程序的案例,这里就讲讲这个应用程序的注册到集群的过程。
这里须要引入两个角色,Driver 和 Executor。
Driver 是客户端驱动程序,用于将工作程序转换为 RDD 和 DAG,并与 Cluster Manager 进行通信与调度。本章次要是与 Cluster Manager 进行通信与调度。
Executor:执行计算工作的一些过程。次要负责工作的执行以及与 Worker、Driver Application 的信息同步。

流程

Application 启动的时候,会创立一个和集群管理器进行对话的客户端,叫做 StandaloneAppClient,这个 StandaloneAppClient 里寄存了很多信息,比方 Master 地址信息,以后 Application 的名称、须要的最大 CPU 外围数、每个 Executor 须要的内存等信息。

因为须要和集群管理器进行通信,所以 StandaloneAppClient 还有一个组件,叫做 ClientEndpoint。

当 Application 启动的时候,ClientEndpoint 组件就开始尝试向 Master 进行注册,并提供本人 Application 的相干信息,这样 Master 就能将 Worker 上的资源及 Executor 调配给 Driver。

Master 接管到注册信息,就会把 Application 的信息存在内存中,同时把这个 Application 放入到期待调度的队列里,等到资源进行调度。

Master 解决完后,就会发信息给 ClientEndpoint,告知曾经注册胜利,ClientEndpoint 收到 Master 信息后,就标记本人曾经注册胜利。

除了 ClientEndpoint 用来和集群管理器进行对话,Application 还定义了另外一个组件 DriverEndpoint,用来和其余组件通信进行通信,比方 Task 状态更新、注册 Executor 等,这些留着后文来讲。

源码思维导图

StandaloneSchedulerBackend
ClientEndpoint 音讯解决
DriverEndpoint 音讯解决
master- 解决音讯

正文完
 0