【Spark】Worker原理剖析

Master会向Worker发送LaunchDriver和LaunchExecutor请求,要求Worker启动Driver和Executor。

Driver和Executor启动具体原理如图所示:

《【Spark】Worker原理剖析》 Driver和Executor的启动

1.LaunchDriver:

在接收到LaunchDriver请求后,会去创建DriverRunner,由DriverRunner内部启动线程来创建Driver的工作目录,工作目录创建完成后,封装启动Driver的命令,用ProcessBuilder启动Driver(进程)。基本原理最核心的是:Worker内部会启动一个线程,由线程负责启动Driver进程,并在之后对Driver进程进行管理。

2.LaunchExecutor:

在接收到LaunchExecutor请求后,会去创建ExecutorRunner,由ExecutorRunner内部启动线程来创建Executor的工作目录,工作目录创建完成后,封装启动Executor的命令,用ProcessBuilder启动Executor(进程)。Executor进程找到对应的Driver后,去反向注册。基本原理最核心的是:与Driver类似,都是Worker内部会启动一个线程,由线程负责启动Executor进程,并在之后对Executor进程进行管理。

    原文作者:果果小姚
    原文地址: https://www.jianshu.com/p/994aeb6daaad
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞