1.執行start-cluster.sh腳本時要特別注意:
a.當是zookeeper高可用集群時,在任何一個flink節點執行該腳本時,jobmanager會根據masters文件中的配置依次在masters文件配置節點上啟動
b.當非zookeeper高可用集群時,在任何一個flink節點執行該腳本時,jobmanager會在該節點啟動,無論該節點是否為規划的jobmanager節點
2.flink-conf.yml中jobmanager.rpc.address的配置也要特別注意,當jobmanager節點配置成localhost時,通過netstat查看6123端口,發現監聽ip是0.0.0.0,此時也能正常跟其他節點taskmanager建立連接,但是打開jobmanager的日志,你會發現它將連接信息丟棄了,導致別的節點taskmanager即便配置的是正確jobmanager.rpc.address(非localhost),也無法正常與該jobmanager節點通信;
jobmanager節點配置(實際ip:10.9.1.15):
taskmanager節點(真實ip:10.9.1.17):
3.hostname的問題:建議將jobmanager.rpc.address以及masters/slavers中的ip都配置成hostname
替換原因:在多網卡的節點很有可能存在配置的ip與hostname不對應,此時taskmanager無法正常工作,提交任務會報申請不到slot,但是看web端界面顯示槽位正常;通過查看jobmanager的日志可以發現實際上,taskmanager沒有正常注冊成功;