【Flink運行時架構】核心組件

在Flink的運行架構中,有兩大比較重要的組件:作業管理器(JobManager)和任務管理器(TaskManager)。
Flink的作業提交與任務處理時的系統如下圖所示。在這里插入圖片描述
其中,客戶端并不是處理系統的一部分,只是負責作業提交,在作業提交之后,可選擇與JobManager斷開連接。接下來,重點介紹一下JobManager和TaskManager在整個過程中所扮演的角色。

JobManager

JobManager是Flink集群中一個任務管理和調度的核心,是控制應用執行的主進程,每一個應用都應該被唯一的JM控制執行。在高可用的場景下,可能會出現多個JM,但是也只有一個正在運行的Leader節點,其余都是備用。JM又包含三個組件:JobMaster、ResourceManager、Dispatcher。

JobMaster

我們把對數據進行處理的操作統稱為任務(task),多個任務按照一定的先后順序連接起來,就構成了作業(job)。而JobMaster是負責處理單獨的作業,因此JobMaster和具體的job是一一對應的。
也就是說,多個job是可以運行在一個Flink集群上的,而每一個job則都有一個自己的JobMaster。
JobMaster在接收到客戶端提交的應用后,會把作業圖轉換成一個物理層面的數據流圖,也就是執行圖,它包含了所有可以并發執行的任務。JobMaster會向資源管理器發出請求,申請執行任務必要的資源,一旦獲取了足夠資源,就會將執行圖分發到真正運行他們的TaskManager上。

ResourceManager

ResourceManager主要負責資源的分配和管理,在Flink集群中只有一個。這里的資源是指TaskManager的任務槽(slot),它包含了機器用來執行計算的一組CPU和內存。每個任務都需要被分配到一個任務槽中執行。

這里的ResourceManager其實是Flink內置的,注意和其他資源管理平臺區分開,比如K8S、YARN等。
TaskManager中的任務槽都會向ResourceManager注冊的,當ResourceManager沒有足夠的任務槽時,它可以向資源管理平臺發起會話,請求提供啟動TaskManager進程的容器。

Dispatcher

Dispatcher主要負責提供一個REST接口,用來與集群進行交互和管理,負責為每一個新提交的作業啟動一個新的JobMaser組件,以及啟動一個WebUI用于展示和監控作業執行信息。

TaskManager

每個TaskManager都包含了一定數量的任務槽,任務槽是資源調度的最小單位,其數量限制了TaskManager能夠并發處理的任務數量。
TaskManager啟動之后,會向ResourceManager注冊它的任務槽,收到指令后,TaskManager就會將一個或者多個任務槽提供給JobMaster用于分配任務的調用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901714.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901714.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901714.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

牟乃夏《ArcGIS Engine地理信息系統開發教程》學習筆記2

目錄 一、ArcGIS Engine概述 1、 定義 2、 核心功能 3、 與ArcObjects(AO)的關系 二、開發環境搭建 1、 開發工具要求 2、 關鍵步驟 三、 ArcGIS Engine核心組件 1、 對象模型 2、 類庫分類 四、 第一個AE應用程序(C#示例&#xf…

端、管、云一體化原生安全架構 告別外掛式防護!

面對數字化轉型浪潮,企業網絡安全風險日益凸顯。數據泄露、黑客勒索等事件頻發,合規要求加速推進。盡管企業紛紛部署了防病毒、身份認證、文件加密、入侵防護、流量監控等多種安全系統,但分散且孤立的架構非但沒有有效抵御風險,反…

深度學習--深度學習概念、框架以及構造

文章目錄 一、深度學習1.什么是深度學習?2.特點3.神經網絡構造1).單層神經元2)多層神經網絡3)小結 4.感知器5.多層感知器6.多層感知器(偏置節點)7.神經網絡構造 一、深度學習 1.什么是深度學習&#xff1f…

helm賬號密碼加密

1、安裝工具 sudo apt update sudo apt install gnupg -y wget https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.linux.amd64 mv sops-v3.10.2.linux.amd64 /usr/local/bin/sops chmod x /usr/local/bin/sops2、生成加密文件 gpg --full-generate-…

大數據面試問答-HBase/ClickHouse

1. HBase 1.1 概念 HBase是構建在Hadoop HDFS之上的分布式NoSQL數據庫,采用列式存儲模型,支持海量數據的實時讀寫和隨機訪問。適用于高吞吐、低延遲的場景,如實時日志處理、在線交易等。 RowKey(行鍵) 定義&#xf…

動態渲染組件

React框架,JSX語法 今天遇到一個好玩的 常規的搜索列表,列表最后一列為操作列,刪改查。 眼看著Table 操作列 的配置文件越來越復雜,決定把操作列單獨寫一個組件,代碼瞬間靚仔了些 {title: Operation,dataIndex: oper…

Web APIs階段

一、Web APIs和JS基礎關聯性 1.1JS的組成 1.2JS基礎階段以及Web APIs階段 JS基礎階段:學習的是ECMAScript標準規定的基礎語法 Web APIs階段: Web APIs是W3C組織的標準Web APIs我們主要學習DOM和BOMWeb APIs是JS獨有的部分主要學習頁面交互功能需要使用…

Doip功能尋址走UDP協議

目前使用 connect()函數的UDP客戶端 ,這里接收數據 解析的地方 查看一下。 如果使用 bind()、sendto()、recvfrom() 組合 那么返回值 和發送要在做調整,,根據業務需要后續在調整 其余的 和原來的 邏輯都是一樣的,只是協議變了而已。 if serv…

Linux指令的詳細介紹

前言:🌼🌼 Linux是一款強大且廣泛使用的操作系統,命令行接口(CLI)是與其交互的核心方式。通過Linux指令,用戶可以高效地執行文件管理、系統監控、進程控制等任務。雖然剛接觸時可能感到有些復雜…

Elasticsearch使用記錄

一、配環境 1.docker版本部署es 8.x系列可以關掉ssl(本地測試時),去docker的/usr/share/elasticsearch/config/elasticsearch.yml里面的“xpack.security.enabled:”設置成true就可以 2.window docker部署推薦教程:基于Docker安…

MuJoCo(Multi-Joint Dynamics with Contact)機器人仿真器存在的問題

MuJoCo物理引擎計算接觸力的核心思路,是通過數學優化的方式同時滿足多個物理約束,而不是簡單地為每個碰撞點單獨計算作用力。它的工作流程可以理解為幾個階段的緊密配合。首先,仿真器會快速檢測所有可能發生接觸的物體表面,篩選出…

基礎(項目管理工具:JIRA、禪道)

目錄 JIRA JIRA介紹 JIRA中的優先級(缺陷嚴重程度) JIRA中的解決結果(缺陷的解決結果) JIRA中的問題狀態(缺陷的狀態) 使用JIRA創建缺陷 JIRA的安裝(Windows) JDK22的下載和安…

16.使用豆包將docker-compose的yaml轉為k8s的yaml,安裝各種無狀態服務

文章目錄 docker方式httpbinit-toolslinux-commandmyipreference docker-compose安裝k8s方式 docker方式 httpbin A simple HTTP Request & Response Service https://httpbin.org/ https://github.com/postmanlabs/httpbin https://github.com/mccutchen/go-httpbin do…

Day(22)--網絡編程習題

習題 以下是這些 TCP 通信練習題的 Java 代碼實現及解析: TCP 通信練習 1 - 多發多收 客戶端(Client1.java) java import java.io.IOException; import java.io.OutputStream; import java.net.Socket; ? public class Client1 {public…

20、.NET SDK概述

.NET SDK(Software Development Kit) 是微軟提供的一套開發工具包,用于構建、運行和管理基于 .NET 平臺的應用程序。它包含了一組豐富的工具、庫和運行時環境,支持開發者在多種操作系統(如 Windows、Linux 和 macOS&am…

DELL電腦開機進入自檢界面

疑難解答 - 如何解決開機直接進入BIOS畫面 添加鏈接描述 一、DELL電腦開機自檢提示please run setup program 未設置一天中的時間-請運行安裝程序(Time-of-day not set - please run SETUP program) 配置信息無效-請運行安裝程序(Invalid configuration information - ple…

2025 最新版 Node.js 下載安裝及環境配置詳細教程【保姆級】

2025 最新版 Node.js 下載安裝及環境配置詳細教程【保姆級】 一、下載安裝二、環境配置三、緩存配置、全局配置以及更換國內淘寶鏡像源 一、下載安裝 下載地址:Node.js 官方下載地址 雙擊安裝,點擊 Change 更改安裝位置。我只有一個C盤,這里…

2025年4月通信科技領域周報(4.07-4.13):6G技術加速落地 衛星通信網絡迎來組網高潮

2025年4月通信科技領域周報(4.07-4.13):6G技術加速落地 衛星通信網絡迎來組網高潮 目錄 2025年4月通信科技領域周報(4.07-4.13):6G技術加速落地 衛星通信網絡迎來組網高潮一、本周熱點回顧1. 華為發布全球首…

vxe-table 動態列篩選,以及篩選項動態變化的解決方案記錄

需求場景: table 的列是由接口動態返回的;列的篩選項就是數據的值,比如【姓名】這個字段總共有三個值,那么姓名這一列的篩選項就是這三個值本身;當有一列篩選后,其他列的篩選項也要動態變化。 vxe-table …

UE5游戲分辨率設置和窗口模式

第一種方法: 在項目配置Config文件夾下新建 DefaultGameUserSettings.ini 輸入代碼 [/Script/Engine.GameUserSettings] bUseVSyncFalse ResolutionSizeX1960 ResolutionSizeY1080 LastUserConfirmedResolutionSizeX800 LastUserConfirmedResolutionSizeY600 WindowPosX-1 …