




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Flink的設(shè)計(jì)與運(yùn)行原理本章將以WordCount程序?yàn)橹骶€,介紹Flink的設(shè)計(jì)與運(yùn)行原理,主要內(nèi)容有:Flink的數(shù)據(jù)流圖,F(xiàn)link分布式架構(gòu)與核心組件,任務(wù)執(zhí)行與資源劃分。
本章所涉及的主要內(nèi)容。熟悉Flink的數(shù)據(jù)流圖。掌握Flink分布式架構(gòu)與核心組件。掌握任務(wù)執(zhí)行與資源劃分。數(shù)據(jù)流圖Flink架構(gòu)和核心組件任務(wù)執(zhí)行與資源劃分
相關(guān)概念方法(Method):Java或Scala語言中的方法,有輸入?yún)?shù)和返回值。函數(shù)(Function):Flink提供給開發(fā)者的接口flatMap()、keyBy()等算子(Operator):在執(zhí)行層面,算子對數(shù)據(jù)進(jìn)行操作,一般一到多個(gè)函數(shù)對應(yīng)一個(gè)算子。Source、Transformation和Sink
數(shù)據(jù)流圖從代碼到邏輯視圖邏輯視圖中圓圈表示算子,箭頭表示數(shù)據(jù)流可以在Flink
Web
UI中查看一個(gè)作業(yè)的邏輯視圖大數(shù)據(jù)框架的算子對計(jì)算做了抽象,方便用戶進(jìn)行并行計(jì)算、橫向擴(kuò)展和故障恢復(fù)邏輯視圖
分布式環(huán)境下并行化物理執(zhí)行數(shù)據(jù)流被切分到多個(gè)分區(qū)(Partition)算子被切分為算子子任務(wù)(Operator
Subtask),又被稱為算子實(shí)例物理執(zhí)行的基本單元并行度(Parallelism):衡量并行切分的多少物理執(zhí)行數(shù)據(jù)在不同算子子任務(wù)之間數(shù)據(jù)交換常見四種數(shù)據(jù)交換策略:前向傳播(Forward)按Key分組(Keyed-Based)廣播(Broadcast)隨機(jī)(Random)數(shù)據(jù)交換策略數(shù)據(jù)流圖Flink架構(gòu)和核心組件任務(wù)執(zhí)行與資源劃分Master協(xié)調(diào)管理DispatcherResourceManagerJobManagerTaskManager擁有CPU、內(nèi)存等計(jì)算資源Flink作業(yè)被分發(fā)到多個(gè)TaskManager上并行執(zhí)行主從架構(gòu)啟動一個(gè)Flink集群,TaskManager進(jìn)程啟動后會將自己注冊給Master的ResourceManagerClient提交作業(yè)(Application)Master的Dispatcher接收作業(yè),啟動JobManagerJobManager向ResourceManager申請資源,ResourceManager會將閑置資源分配給JobManager作業(yè)轉(zhuǎn)化為物理執(zhí)行圖,計(jì)算任務(wù)分發(fā)部署到多個(gè)TaskManager上作業(yè)提交過程作業(yè)提交流程ClientFlink主目錄下的bin目錄中的命令行工具將用戶作業(yè)轉(zhuǎn)換為JobGraphDispatcher接收多個(gè)作業(yè),為每個(gè)作業(yè)分配一個(gè)JobManagerJobManager單個(gè)作業(yè)的協(xié)調(diào)者,每個(gè)作業(yè)有一個(gè)JobManager將JobGraph轉(zhuǎn)化為物理執(zhí)行圖ExecutionGraph向ResourceManager申請資源管理TaskManager,將具體計(jì)算任務(wù)分發(fā)部署到多個(gè)TaskManager上Flink核心組件介紹ResourceManager統(tǒng)一處理資源分配上的問題獲取計(jì)算資源、分配給具體計(jì)算作業(yè)TaskManager負(fù)責(zé)具體計(jì)算任務(wù)的執(zhí)行提供一定量的任務(wù)槽位(TaskSlot,簡稱Slot),F(xiàn)link作業(yè)運(yùn)行在這些Slot上Slot會注冊到ResourceManager上,ResourceManager分配這些Slot給具體的作業(yè)部署層Local、Cluster、Cloud運(yùn)行時(shí)層分布式運(yùn)行時(shí)API層流處理-
DataStream
API批處理–
DataSet
API上層工具基于DataStream/DataSet
API的上層工具Flink組件棧數(shù)據(jù)流圖Flink架構(gòu)和核心組件任務(wù)執(zhí)行與資源劃分StreamGraph根據(jù)用戶代碼生成的圖JobGraphStreamGraph優(yōu)化之后生成JobGraph算子鏈ExecutionGraphJobGraph的分布式并行版本物理執(zhí)行圖部署到TaskManager上的具體計(jì)算任務(wù)再談邏輯視圖到物理執(zhí)行圖算子鏈將相近的算子子任務(wù)鏈接在一起鏈接后形成任務(wù)(Task)Task以線程的形式被TaskManager調(diào)度可以降低算子子任務(wù)之間的傳輸開銷任務(wù)、算子子任務(wù)與算子鏈上圖中,Source和FlatMap鏈接到了一起,其他算子發(fā)生了跨分區(qū)數(shù)據(jù)交換,無法鏈接到一起。Task
SlotTaskManager下有多個(gè)Task
Slot每個(gè)Task
Slot中運(yùn)行著某些TaskSlot之間的內(nèi)存相互隔離Slot內(nèi)部共享TCP連接、心跳等允許用戶設(shè)置TaskManager中的Slot的數(shù)目建議將TaskManager下Slot數(shù)設(shè)置為CPU核心數(shù)任務(wù)槽位與計(jì)算資源Slot與TaskManager多個(gè)Task共享一個(gè)Slot數(shù)據(jù)交換成本更低右圖中,Source和FlatMap計(jì)算量不大,WindowAggregation計(jì)算量較大,資源互補(bǔ)增加并行度后,在同樣的計(jì)算資源基礎(chǔ)上,可以部署更多算子實(shí)例,處理的數(shù)據(jù)量更大槽位共享將并行度由2改為6槽位共享后,多個(gè)Task共享一個(gè)Slot可以增大并行度,有限的資源上處理更多數(shù)據(jù)并行度邏輯視圖并行切分為多個(gè)算子子任務(wù)每個(gè)算子子任務(wù)處理輸入數(shù)據(jù)的一部分輸入數(shù)據(jù)量增大時(shí),可適當(dāng)增大并行度槽位數(shù)目針對TaskManager設(shè)置資源切分粒度并行度與槽位數(shù)目本章中,我們以WordCount案例為主線分析了Flink的設(shè)計(jì)和運(yùn)行原理。我們重點(diǎn)介紹了一個(gè)作業(yè)從數(shù)據(jù)流圖到物理執(zhí)行圖的轉(zhuǎn)化過程,并介紹了轉(zhuǎn)化過程中所涉及的數(shù)據(jù)結(jié)構(gòu)。Flink是基于主從架構(gòu)的,我們通過一個(gè)作業(yè)提交的案例,介紹了Flink的核心組件各自的主要功能,包括Client、Disp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)管理合同范本一(34篇)
- 2025房屋租賃合同范本(20篇)3
- 2024年廣州銀行招聘筆試真題
- 2025植樹節(jié)活動總結(jié)報(bào)告(15篇)
- 電梯修理T練習(xí)試題及答案
- 企業(yè)出海專屬指南合集
- 大學(xué)畢業(yè)生自我鑒定500字總結(jié)(16篇)
- 捯短運(yùn)輸合同短途運(yùn)輸協(xié)議
- 歷史文獻(xiàn)閱讀試題匯編
- 物流配送專業(yè)試題
- 2025年小學(xué)數(shù)學(xué)新教材培訓(xùn)
- 2025工程建設(shè)項(xiàng)目多測合一成果報(bào)告書范本
- 麻醉科麻精藥品PDCA管理
- 工業(yè)蒸汽生產(chǎn)安全操作規(guī)范
- Unit 4 Healthy food Part A Let's learn(課件)-2024-2025學(xué)年人教PEP版英語三年級下冊
- 天津市河?xùn)|區(qū)2024-2025學(xué)年高三下學(xué)期一??荚?化學(xué)試題(含答案)
- 計(jì)算機(jī)類創(chuàng)業(yè)計(jì)劃書
- 第三單元 主題活動三《建筑模型我設(shè)計(jì)》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年四年級下冊綜合實(shí)踐活動內(nèi)蒙古版
- 糧食工程專業(yè)實(shí)習(xí)報(bào)告范文
- 2025年高考數(shù)學(xué)復(fù)習(xí)(新高考專用)重難點(diǎn)09極值點(diǎn)偏移與拐點(diǎn)偏移問題【七大題型】特訓(xùn)(學(xué)生版+解析)
- 皮下氣腫治療
評論
0/150
提交評論