【Spark】Worker原理剖析

2018-07-02  本文已影响5人  果果小姚

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

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

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进程进行管理。

上一篇下一篇

猜你喜欢

热点阅读