flink基礎(chǔ)組件有哪些

這篇文章主要為大家展示了“flink基礎(chǔ)組件有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“flink基礎(chǔ)組件有哪些”這篇文章吧。

創(chuàng)新互聯(lián)是一家專業(yè)提供無為企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、html5、小程序制作等業(yè)務(wù)。10年已為無為眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

flink,一個(gè)面向分布式數(shù)據(jù)流處理和批量數(shù)據(jù)處理的開源計(jì)算平臺(tái),它能夠基于同一個(gè)Flink運(yùn)行時(shí),提供支持流處理和批處理兩種類型應(yīng)用的功能。和mapreduce,storm, spark有著類似的功能。

首先來看下大概圖

flink基礎(chǔ)組件有哪些

下面來說下具體的組件

JobManager,taskManager

JobManager:JobManager是Flink系統(tǒng)的協(xié)調(diào)者,它負(fù)責(zé)接收Flink Job,調(diào)度組成Job的多個(gè)Task的執(zhí)行。同時(shí),JobManager還負(fù)責(zé)收集Job的狀態(tài)信息,并管理Flink集群中從節(jié)點(diǎn) TaskManager。

JobManager

JobManager是Flink系統(tǒng)的協(xié)調(diào)者,也是一個(gè)獨(dú)立的actor,它負(fù)責(zé)接收Flink Job,調(diào)度組成Job的多個(gè)Task的執(zhí)行。同時(shí),JobManager還負(fù)責(zé)收集Job的狀態(tài)信息,并管理Flink集群中從節(jié)點(diǎn) TaskManager。JobManager所負(fù)責(zé)的各項(xiàng)管理功能,它接收到并處理的事件主要包括:

  • RegisterTaskManager

在Flink集群啟動(dòng)的時(shí)候,TaskManager會(huì)向JobManager注冊(cè),如果注冊(cè)成功,則JobManager會(huì)向TaskManager回復(fù)消息AcknowledgeRegistration。

  • SubmitJob

Flink程序內(nèi)部通過Client向JobManager提交Flink Job,其中在消息SubmitJob中以JobGraph形式描述了Job的基本信息。

  • CancelJob

請(qǐng)求取消一個(gè)Flink Job的執(zhí)行,CancelJob消息中包含了Job的ID,如果成功則返回消息CancellationSuccess,失敗則返回消息CancellationFailure。

  • UpdateTaskExecutionState

TaskManager會(huì)向JobManager請(qǐng)求更新ExecutionGraph中的ExecutionVertex的狀態(tài)信息,更新成功則返回true。

  • RequestNextInputSplit

運(yùn)行在TaskManager上面的Task,請(qǐng)求獲取下一個(gè)要處理的輸入Split,成功則返回NextInputSplit。

  • JobStatusChanged

ExecutionGraph向JobManager發(fā)送該消息,用來表示Flink Job的狀態(tài)發(fā)生的變化,例如:RUNNING、CANCELING、FINISHED等。

TaskManager

TaskManager也是一個(gè)Actor,它是實(shí)際負(fù)責(zé)執(zhí)行計(jì)算的Worker,在其上執(zhí)行Flink Job的一組Task。每個(gè)TaskManager負(fù)責(zé)管理其所在節(jié)點(diǎn)上的資源信息,如內(nèi)存、磁盤、網(wǎng)絡(luò),在啟動(dòng)的時(shí)候?qū)①Y源的狀態(tài)向 JobManager匯報(bào)。TaskManager端可以分成兩個(gè)階段:

  • 注冊(cè)階段

TaskManager會(huì)向JobManager注冊(cè),發(fā)送RegisterTaskManager消息,等待JobManager返回AcknowledgeRegistration,然后TaskManager就可以進(jìn)行初始化過程。

  • 可操作階段

該階段TaskManager可以接收并處理與Task有關(guān)的消息,如SubmitTask、CancelTask、FailTask。如果 TaskManager無法連接到JobManager,這是TaskManager就失去了與JobManager的聯(lián)系,會(huì)自動(dòng)進(jìn)入“注冊(cè)階段”,只 有完成注冊(cè)才能繼續(xù)處理Task相關(guān)的消息。

    client

當(dāng)用戶提交一個(gè)Flink程序時(shí),會(huì)首先創(chuàng)建一個(gè)Client,該Client首先會(huì)對(duì)用戶提交的Flink程序進(jìn)行預(yù)處理,并提交到Flink集群中處 理,所以Client需要從用戶提交的Flink程序配置中獲取JobManager的地址,并建立到JobManager的連接,將Flink Job提交給JobManager。Client會(huì)將用戶提交的Flink程序組裝一個(gè)JobGraph, 并且是以JobGraph的形式提交的。一個(gè)JobGraph是一個(gè)Flink Dataflow,它由多個(gè)JobVertex組成的DAG。其中,一個(gè)JobGraph包含了一個(gè)Flink程序的如下信息:JobID、Job名稱、 配置信息、一組JobVertex等。

以上是“flink基礎(chǔ)組件有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文標(biāo)題:flink基礎(chǔ)組件有哪些
標(biāo)題網(wǎng)址:http://bm7419.com/article48/pciphp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)、、網(wǎng)站排名、品牌網(wǎng)站建設(shè)、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)