sparksubmit的执行流程

sparksubmit的执行流程

sparksubmit提交任务之后的任务运行流程如下:

1、master与worker建立连接   master中有worker的信息  内存 核数 资源 IO 网络等信息

2、worker每段时候会向master发送心跳报活

3、Driver发送任务,首先会向master申请资源

4、master与worker进行rpc通信,让worker启动executor  

5、executor启动后会主动连接driver 

6、driver会产生task  然后通过网络发送给executor ,然后在executor中执行真正的运算逻辑

 

 Yarn和Spark的StandAlone调度模式对比

 ResouceManager        Master   管理子节点、资源调度、接收任务请求
 NodeManger                Worker   管理当前节点,并管理子进程
 YarnChild                    Executor 运行真正的计算逻辑的(Task)
 Client                          SparkSubmit  (Client + ApplicaitonMaster)提交app,管理该任务的Executor
 ApplicaitonMaster                      并将Task提交到(Executor)   DRIVER