溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flink基礎組件有哪些

發(fā)布時間:2021-12-16 15:08:41 來源:億速云 閱讀:224 作者:小新 欄目:云計算

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

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

首先來看下大概圖

flink基礎組件有哪些

下面來說下具體的組件

JobManager,taskManager

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

JobManager

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

  • RegisterTaskManager

在Flink集群啟動的時候,TaskManager會向JobManager注冊,如果注冊成功,則JobManager會向TaskManager回復消息AcknowledgeRegistration。

  • SubmitJob

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

  • CancelJob

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

  • UpdateTaskExecutionState

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

  • RequestNextInputSplit

運行在TaskManager上面的Task,請求獲取下一個要處理的輸入Split,成功則返回NextInputSplit。

  • JobStatusChanged

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

TaskManager

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

  • 注冊階段

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

  • 可操作階段

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

    client

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

以上是“flink基礎組件有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI