Flink-Standalone模式提交任務|配置Slots大小

並行度設置

其中keyBy不能設置會報錯,因爲keyBy不屬於一個常規的任務算子,不需要做計算,只是做一個規則匹配,按照字段第一個進行合併,其他的算子都可以用setParallelism()進行設置並行度(爲一個任務的subtask的的個數)
在這裏插入圖片描述

將流式計算的WordCount進行打包

如果遇到錯誤可以更改一下maven的版本,與自己版本相對應進行打包

在這裏插入圖片描述

上傳Jar到頁面任務中

在這裏插入圖片描述

任務提交

在這裏插入圖片描述

查看任務狀態

這裏的任務只是一種提交的狀態,並沒有真正的啓動任務,當資源不夠會一直轉圈圈(其中parallelism爲任務的並行度,keyby爲hash不在任務中)

在這裏插入圖片描述
程序一直created,表示slots資源不夠
在這裏插入圖片描述

最後將會失敗(提交任務時 先要將nc -lk 7777 打開 不然會直接failed)

在這裏插入圖片描述

重新配置slots

停掉flink

在這裏插入圖片描述

進入到conf目錄下修改flink-conf.yaml,並分發

在這裏插入圖片描述

啓動集羣提交任務

在這裏插入圖片描述

測試

在這裏插入圖片描述

小結

測試可得,若任務並行度爲1 slots爲1 task爲2 ,則任務也會提交成功,雖然只有一個slots 有兩個task 但是這個slots會進行共享,但是如果task中的並行度爲2時 任務提交將會不成功,由於默認情況下,Flink 允許子任務共享 slot,即使它們是不同任務的子任務。 這樣的結果是,一個 slot 可以保存作業的整個管道。而Task Slot 是靜態的概念,是指 TaskManager 具有的併發執行能力,如果task中的parallelism並行度爲2時,slot並不具備這樣的共享

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章