首页 > 大数据 > > Spark Executor的启动 源码剖析
application向Master注册并提交后,Master最终会调用schedule方法规划分配将要worker上运行的executor的资源,然后调用allocateWorkerResourceToExecutors将资源分配给executor,并启动executor。
master.scala中的schedule中《Spark Application调度算法 源码剖析》

launchExecutor方法中启动了executor

下面进入worker端--

worker端接收到launchExecutor消息后


其中,重点是ExecutorRunner的Start方法:
创建workerThread 线程,该线程运行时执行fetchAndRunExecutor方法


fetchAndRunExecutor方法将接收到的信息后,执行步骤如下:
这里就会执行命令,执行命令后会产生一个进程CoarseGrainedExecutorBackend,该进程为executor的守护进程
这里的spark运行参数,由substituteVariables将其替换为分配好实际值
执行该命令会调用CoarseGrainedExecutorBackend的main方法,对命令行的args参数进行处理


executor的启动 完结 ~
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3118893/ ,如需转载,请注明出处,否则将追究法律责任。