Flink--對parallelism 和 slot的理解

  • 基于flink-1.8.1

概述

  • parallelism指的是并行度的意思。在 Flink 里面代表每個任務的并行度瞪醋,適當?shù)奶岣卟⑿卸瓤梢源蟠筇岣?job 的執(zhí)行效率,比如你的 job 消費 kafka 數(shù)據(jù)過慢矛物,適當調(diào)大可能就消費正常了霹琼。
  • slot指的是插槽的意思,flink中任務的并行性由每個 Task Manager 上可用的 slot 決定丰嘉。

如何設置flink job的parallelism

  • 在flink的配置文件中flink-conf.yaml夯到,默認的并行度為1;
  • 在以shell的方式提交flink job的時候饮亏,可以使用-p指定程序的并行度耍贾;
./bin/flink run -p 10 ../word-count.jar
  • 在flink job程序內(nèi)設置并行度
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(10);

注意:這樣設置的并行度是你整個程序的并行度,那么后面如果你的每個算子不單獨設置并行度覆蓋的話路幸,那么后面每個算子的并行度就都是這里設置的并行度的值了荐开。

  • 每個算子指定并行度;
data.keyBy(new xxxKey())
    .flatMap(new XxxFlatMapFunction()).setParallelism(5)
    .map(new XxxMapFunction).setParallelism(5)
    .addSink(new XxxSink()).setParallelism(1)
  • 并行度設置優(yōu)先級是:算子設置并行度 > env 設置并行度 > 配置文件默認并行度

如何理解flink中的slot

  • flink-conf.yaml中默認taskmanager.numberOfTaskSlots=1;
  • 以flink架構模型為例進行分析:


    flink-model.jpg
  • 圖中 Task Manager 是從 Job Manager 處接收需要部署的 Task简肴,任務的并行性由每個 Task Manager 上可用的 slot 決定晃听。每個任務代表分配給任務槽的一組資源,slot 在 Flink 里面可以認為是資源組砰识,F(xiàn)link 將每個任務分成子任務并且將這些子任務分配到 slot 來并行執(zhí)行程序杂伟。
  • 例如,如果 Task Manager 有四個 slot仍翰,那么它將為每個 slot 分配 25% 的內(nèi)存赫粥。 可以在一個 slot 中運行一個或多個線程。 同一 slot 中的線程共享相同的 JVM予借。 同一 JVM 中的任務共享 TCP 連接和心跳消息越平。Task Manager 的一個 Slot 代表一個可用線程,該線程具有固定的內(nèi)存灵迫,注意 Slot 只對內(nèi)存隔離秦叛,沒有對 CPU 隔離。默認情況下瀑粥,F(xiàn)link 允許子任務共享 Slot挣跋,即使它們是不同 task 的 subtask,只要它們來自相同的 job狞换。這種共享可以有更好的資源利用率避咆。
  • 以官網(wǎng)上的thread process為例說明一下


    taskmanager.jpg
  • 上面圖片中有兩個 Task Manager舟肉,每個 Task Manager 有三個 slot,這樣我們的算子最大并行度那么就可以達到 6 個查库,在同一個 slot 里面可以執(zhí)行 1 至多個子任務路媚。
  • 那么再看上面的圖片,source/map/keyby/window/apply 最大可以有 6 個并行度樊销,sink 只用了 1 個并行整慎。
  • 每個 Flink TaskManager 在集群中提供 slot。 slot 的數(shù)量通常與每個 TaskManager 的可用 CPU 內(nèi)核數(shù)成比例围苫。一般情況下你的 slot 數(shù)是你每個 TaskManager 的 cpu 的核數(shù)裤园。

parallelism與slot的區(qū)別

  • 1-slot 是指 taskmanager 的并發(fā)執(zhí)行能力;


    slot-taskmanager.jpg
  • 如上圖所示:taskmanager.numberOfTaskSlots:3剂府;即每一個 taskmanager 中的分配 3 個 TaskSlot, 3 個 taskmanager 一共有 9 個 TaskSlot比然。
  • 2-parallelism 是指 taskmanager 實際使用的并發(fā)能力


    parallelism-taskmanager.jpg
  • 如上圖所示:parallelism.default:1;即運行程序默認的并行度為 1周循,9 個 TaskSlot 只用了 1 個强法,有 8 個空閑。設置合適的并行度才能提高效率湾笛。
  • 3-parallelism 是可配置饮怯、可指定的;


    example-1.jpg
  • 上圖中 example2 每個算子設置的并行度是 2嚎研, example3 每個算子設置的并行度是 9蓖墅。


    example-4.jpg
  • example4 除了 sink 是設置的并行度為 1,其他算子設置的并行度都是 9临扮。
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末论矾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子杆勇,更是在濱河造成了極大的恐慌贪壳,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚜退,死亡現(xiàn)場離奇詭異闰靴,居然都是意外死亡,警方通過查閱死者的電腦和手機钻注,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門蚂且,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人幅恋,你說我怎么就攤上這事杏死。” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵淑翼,是天一觀的道長腐巢。 經(jīng)常有香客問我,道長窒舟,這世上最難降的妖魔是什么系忙? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任诵盼,我火速辦了婚禮惠豺,結果婚禮上,老公的妹妹穿的比我還像新娘风宁。我一直安慰自己洁墙,他們只是感情好,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布戒财。 她就那樣靜靜地躺著热监,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饮寞。 梳的紋絲不亂的頭發(fā)上孝扛,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機與錄音幽崩,去河邊找鬼苦始。 笑死,一個胖子當著我的面吹牛慌申,可吹牛的內(nèi)容都是我干的陌选。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼蹄溉,長吁一口氣:“原來是場噩夢啊……” “哼咨油!你這毒婦竟也來了?” 一聲冷哼從身側響起柒爵,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤役电,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后棉胀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宴霸,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年膏蚓,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓢谢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡驮瞧,死狀恐怖氓扛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤采郎,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布千所,位于F島的核電站,受9級特大地震影響蒜埋,放射性物質發(fā)生泄漏淫痰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一整份、第九天 我趴在偏房一處隱蔽的房頂上張望待错。 院中可真熱鬧,春花似錦烈评、人聲如沸火俄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓜客。三九已至,卻和暖如春竿开,著一層夾襖步出監(jiān)牢的瞬間谱仪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工否彩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疯攒,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓胳搞,卻偏偏與公主長得像卸例,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肌毅,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容