2.3 选择创建哪种类型的客户端
CliFrontend.java
这里依次添加了 Generic、Yarn 和 Default 三种命令行客户端(后面根据 isActive()按顺序选择):
在 run()里面,进行客户端的选择:
FlinkYarnSessionCli.java => Yarn 客户端 isActive 的判断逻辑:
2.4 获取有效配置
CliFrontend.java
FlinkYarnSessionCli.java
2.5 调用用户代码的 main 方法
CliFrontend.java
ClientUtils.java
PackagedProgram.java
2.6 调用执行环境的 execute 方法
StreamExecutionEnvironment.java