flink client/JobManager/TaskManager的启动

这里只介绍Standalone模式


Client

flink官方支持多种模式standalone/yarn/mesos

flink在启动的时候,会根据参数去执行相应的逻辑。而这些逻辑都在CliFrontEnd这个类中。

flink client/JobManager/TaskManager的启动_第1张图片

而flink是如何选择使用哪种模式呢?首先CliFrontEnd在初始化的时候,有一个静态块

flink client/JobManager/TaskManager的启动_第2张图片

这个静态块在custormCommandLine加入了两个Cli,分别是yarn和default。在执行run命令的时候,客户端会选择对应的Cli

flink client/JobManager/TaskManager的启动_第3张图片

而这个选择的逻辑,是通过遍历custormCommandLine,分别执行对应元素的isActive方法来实现的

flink client/JobManager/TaskManager的启动_第4张图片

JobManager

jobManager的启动是通过flink-daemo的脚本执行的。这个脚本里直接调用JobManager.scala这个class。启动JobManager就在对应的main方法中

flink client/JobManager/TaskManager的启动_第5张图片

TaskManager和JobManager是相似的,都是通过flink-daemon的脚本设置对应要执行的class,进而初始化TaskManager.scala

flink client/JobManager/TaskManager的启动_第6张图片

你可能感兴趣的:(flink client/JobManager/TaskManager的启动)