您的位置:首页 > 其它

Spark的worker运行分析

2016-07-26 09:12 155 查看
Master在启动的时候,会调用LaunchDriver和LaunchExecutor方法,要求Worker启动Driver和Executor。

在Worker内部,接收到消息后,会调用DriverRunner,它的内部启动了一个线程,去创建Driver的工作目录,创建好工作目录后,封装启动Driver的命令,用ProcessBuilder启动Driver。Worker启动Driver的一个基本原理,最核心的就是Worker内部会启动一个线程,就是DriverRunner,然后DriverRunner会负责启动Driver进程,并在之后对Driver进程进行管理。

在Worker内部,接收到消息后,还会调用ExecutorRunner,它的内部启动了一个线程,去创建Executor的工作目录,创建好工作目录之后,封装启动Executor的命令,用ProcessBuilder启动Executor。

Executor启动起来后,会找到对应的Driver去注册自己。

Worker启动Executor,其实和Driver的原理是一致的,都是通过一个Worker内部的本地线程,也就是ExecutorRunner,去启动Executor进程,然后在之后对Executor进程进行管理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark