Flink之參數(shù)設(shè)置

上篇文章啰里啰嗦說了那么多,不知道大家理解的怎么樣!寫本文也是銜接上篇文章繼續(xù)學(xué)習(xí)以便加深對Flink原理的理解。接下來主要是梳理一下-p, -yn 和實(shí)際Flink作業(yè)提交成功之后生成TaskManager的個(gè)數(shù)之間的關(guān)系。

繼續(xù)往下看?

①yn參數(shù)官網(wǎng)解釋: -yn,--yarncontainer <arg> Number of YARN container to allocate (=Number of Task Managers)。按照這個(gè)參數(shù)解釋,那就是我們設(shè)置了job中有多少個(gè)TaskManagers,但是事實(shí)是不是這樣的呢????那看一下下面提交的job:
flink run \
-m yarn-cluster \
-ynm AliyunNginxStudy20190328 \  
-yn 3 \
-ys 3 \
-p 3 \
-yjm 2048m \
-ytm 8192m \
-c --classpath  /opt/jars/online_aliyun_ls_parse_nginx_test.jar \
--output ${elasticsearch} \
--ipDbPath /opt/lib/ \
--windowSize 10

下圖是具體提交到y(tǒng)arn上,F(xiàn)link最終TaskManagers和Task Slots的數(shù)量情況。

圖8

通過上面圖8的反應(yīng)的情況,證明-yn并不能決定TaskManager的數(shù)量。其實(shí)在flink-1.7版本提交任務(wù)的時(shí)候就可以通過日志信息發(fā)現(xiàn)這個(gè)參數(shù)是棄用的。flink-1.6日志雖然沒有提醒,但該參數(shù)也是處于廢棄狀態(tài)。

v-1.7
flink-1.7
v-1.6
flink-1.6
繼續(xù)往下看>>>>>>

說到底還是確定不了TaskManager最終的數(shù)量誰來決定的,通過親自測試得到圖9的結(jié)果,測試中flink配置文件中的默認(rèn)并行度是1(parallelism.default: 1),代碼中沒有單獨(dú)設(shè)置operators的并行度。
yn(實(shí)際) = Math.ceil(p/ys)
ys(總共) = yn(實(shí)際) * ys(指定)
ys(使用) = p(指定)

下圖中的腳本指定參數(shù)是指我們提交flink任務(wù)指定的,實(shí)際參數(shù)情況是指flink 任務(wù)提交成功之后所產(chǎn)生的。

圖9
為了驗(yàn)證上面的說法,咱們繼續(xù)提交一個(gè)job來去測試。如果網(wǎng)友有時(shí)間可以實(shí)際操作一下。
flink run \
-m yarn-cluster \
-ynm AliyunNginxStudy20190328 \  
-yn 3 \
-ys 2 \
-p 3 \
-yjm 2048m \
-ytm 8192m \
-c --classpath  /opt/jars/online_aliyun_ls_parse_nginx_test.jar \
--output ${elasticsearch} \
--ipDbPath /opt/lib/ \
--windowSize 10
下圖可以清楚的看到,實(shí)際的TaskManagers數(shù)和Task Slots數(shù)驗(yàn)證了上面所說的。
圖10

>>記錄學(xué)習(xí)過程,文章中如有錯(cuò)誤或不妥之處,請留言!<<
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容