Spark的worker运行分析

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值