整個Flink集群的角色分為Jobmanager和TaskManager
以Standalone為例來看一下腳本里面是怎樣啟動集群的
找到源碼的dist這里面包含了啟動的腳本文件
standalone模式下我們通過start-cluster.sh這個腳本啟動
來看下里面具體做了什么
在最后調用了jobmanager.sh start 這個腳本和config.sh 中的TMSlaves 這個方法,分別啟動了jobmanager和taskmanager
先看一下Jobmanager
在jobmanager.sh中導入了一些配置文件參數以外,腳本在最后執行了
到了這個文件flink-daemon.sh
可以看到已經找到這樣一個jobmanager的入口類org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint 了(1.6之前這里有較大的變化,詳細的可以自己去研究一下)
后面就是jobmanager的具體啟動了
現在在來看看TaskManager的啟動方法config.sh 中 TMSlaves start
taskmanager.sh中
這里就和jobmanager的一樣了,到了daemon.sh
這就是taskmanagaer的入口類org.apache.flink.runtime.taskexecutor.TaskManagerRunner了
整個集群jobmanager和taskmanager就啟動起來了
后面角色的具體啟動后期會隨緣更新
來看一下window下的啟動
可以看到也差不多,都是走的這兩個類作為啟動類