整個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下的啟動


可以看到也差不多,都是走的這兩個類作為啟動類
