spark版本是1.3+

 

Woker启动Executor过程并向Driver注册时序图:

1.launchExecutor Master发送消息让Worker启动Executor

 

2.Worker new()

Master 发送给Worker的消息,让Worker启动Execitor,LaunchExecutor是一个Case Class,里面封装以后要启动的Executor的信息

new ExecutorRunner 创建ExcutorRunner,将参数都放到其中,然后在通过他启动Executor

注册ExecutorID -> Executor放到一个map中,对应关系

executors(appId + "/" + execId) = manager

 

3.Worker start()

调用ExecutorRunner的start方法来启动Executor Java子进程

manager.start() 

 

4.ExecutorRunner new()

先创建一个线程对象,然后通过一个线程来启动一个java子进程

workerThread = new Thread("ExecutorRunner for " + fullId) {

   

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。