【Spark】Worker原理剖析

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容