簡體   English   中英

運行多個 flink 作業的問題(在 Flink 集群上)

[英]Issue running multiple flink jobs (on Flink Cluster)

各位,

我們幾乎沒有 flink 作業 - 構建為單獨的可執行 Jars

每個 flink 作業都使用以下內容來運行 -

>  StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
> 
> try {
>             env.execute("FLINK-JOB");
>         } catch (Exception ex) {
>             // Some message
>         }

但是當我們部署這些 Flink 作業(總共 5 個)時 - 只有一個運行,另一個關閉。

我們部署的方式是通過 bin/flink run

非常感謝

我猜您可能正在使用 flink Standalone 的默認啟動方法,通過bin/start-cluster.shbin/stop-cluster.sh 這種方法是依靠conf/mastersconf/workers來確定集群組件實例的數量,默認taskmanager的數量只有1個,有1個slot。

當作業並行度只有一個時,只能運行一個作業(當作業並行度大於一時,不能運行任何作業)。 當你沒有足夠的 taskmanager(slot)時,你無法運行足夠多的作業(每個作業至少需要一個 slot)

可以參考圖片上的步驟添加taskmanager(slot)

flink 文檔鏈接

這可能是因為您在 env.execute("FLINK-JOB") 中使用了相同的作業名稱。 請嘗試為您的 5 個作業設置不同,或者,您可以在部署 flink 作業時使用參數配置傳遞作業名稱,並使用 env.execute(params.get("your-job-name")) 傳遞不同的作業名稱。 擁有唯一的工作名稱應該會有所幫助。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM