LauncherServer流程记录(spark-2.2.0)

这里记录一下LauncherBackend和LauncherServer的通信流程

流程图

流程说明


    SparkLauncher 在startApplication方法里通过createBuilder方法调用spark-submit脚本,同时启动LauncherServer服务,用于接收LauncherBackend的消息
    通过把固定的环境变量通告出去,通知LauncherBackend启动连接LauncherServer。

    spark-submit 脚本调用SparkSubmit,SparkSubmit调用org.apache.spark.deploy.yarn.Client 来提交任务到yarn上。

    yarn.Client 在 submitApplication中启动LauncherBackend 来连接LauncherServer。
    并且在run方法中通过monitorApplication 中来检查app的状态变化,然后通过launcherBackend 把状态变化通知到 launcherServer上

    LauncherServer收到通知后会调用用户提供的listener

    更多细节参考Launcher其他记录

相关记录链接

*SparkLauncher
*LauncherServer
*LauncherBackend
*ChildProcAppHandle

posted @ 2018-01-31 11:42  vv.past  阅读(707)  评论(0编辑  收藏  举报