Flink CDC —部署模式

一、Standalone 模式

?獨立模式是Flink最簡單的部署模式。本簡短指南將向您展示如何下載最新穩定版本的Flink,安裝和運行它。
您還將運行一個示例Flink CDC作業,并在web UI中查看它。

1、準備

Flink在所有類似UNIX的環境中運行,即Linux、Mac OS X和Cygwin(用于Windows)。
您可以參考概述來檢查支持的版本,并下載Flink的二進制版本,然后提取存檔:

tar -xzf flink-*.tgz

您應該將FLINK_HOME環境變量設置為:

export FLINK_HOME=/path/flink-*

2、啟動和停止本地群集

要啟動本地集群,請運行Flink附帶的bash腳本:

cd /path/flink-*
./bin/start-cluster.sh

Flink現在作為后臺進程運行。可以使用以下命令檢查其狀態:

ps aux | grep flink

您應該能夠導航到localhost:8081上的web UI,以查看Flink儀表板,并查看集群是否已啟動并正在運行。
要快速停止集群和所有正在運行的組件,可以使用提供的腳本:

./bin/stop-cluster.sh

3、配置Flink CDC

從發布頁面下載Flink CDC的tar文件,然后解壓縮存檔:

tar -xzf flink-cdc-*.tar.gz

提取的flink cdc包含四個目錄:bin、lib、log和conf。
從發布頁面下載連接器jar,并將其移動到lib目錄。
下載鏈接僅適用于穩定版本,SNAPSHOT依賴項需要根據特定的分支自行構建。

4、提交Flink CDC Job

下面是將整個數據庫mysql-to-doris.yaml同步的示例文件:

################################################################################
# Description: Sync MySQL all tables to Doris
################################################################################
source:type: mysqlhostname: localhostport: 3306username: rootpassword: 123456tables: app_db.\.*server-id: 5400-5404server-time-zone: UTCsink:type: dorisfenodes: 127.0.0.1:8030username: rootpassword: ""pipeline:name: Sync MySQL Database to Dorisparallelism: 2

?最后,使用Cli將作業提交到Flink獨立集群。

cd /path/flink-cdc-*
./bin/flink-cdc.sh mysql-to-doris.yaml

提交成功后,退貨信息如下:

Pipeline has been submitted to cluster.
Job ID: ae30f4580f1918bebf16752d4963dc54
Job Description: Sync MySQL Database to Doris

然后,您可以通過Flink Web UI找到一個名為Sync MySQL Database to Doris的作業。

二、YARN 模式

Apache Hadoop YARN?是眾多數據處理框架所青睞的資源提供者。 Flink 服務被提交至 YARN 的 ResourceManager,后者會在由 YARN NodeManager 管理的機器上生成 container。Flink 將其 JobManager 和 TaskManager 實例部署到這些 container 中。

Flink 可以根據在 JobManager 上運行的作業處理所需的 slot 數量,動態分配和釋放 TaskManager 資源。

1、準備工作?

此“入門指南”部分假定從 2.10.2 版本起具備功能可用的 YARN 環境。YARN 環境可以通過像亞馬遜 EMR、谷歌云 DataProc 等服務或 Cloudera 等產品來搭建。? 不建議在本地或集群上手動設置 YARN 環境來完成本入門教程。

  • 通過運行?yarn top?無錯誤信息顯示以確保你的 YARN 集群準備好接受 Flink 應用程序的提交。
  • 從下載頁面下載最新的 Flink 發行版并解壓縮。
  • 一定要確保設置了?HADOOP_CLASSPATH?環境變量(可以通過運行?echo $HADOOP_CLASSPATH?來檢查)。如果沒有,請使用以下命令進行設置。
export HADOOP_CLASSPATH=`hadoop classpath`

2、Session 模式?

Flink 在所有類 UNIX 的環境中運行,即在 Linux、Mac OS X 以及(針對 Windows 的)Cygwin 上運行。 你可以參考概覽來檢查支持的版本并下載Flink二進制版本, 然后解壓文件:

tar -xzf flink-*.tgz

你需要設置?FLINK_HOME?環境變量,比如:

export FLINK_HOME=/path/flink-*

確保已設置?HADOOP_CLASSPATH?環境變量,即可在 YARN 會話啟動一個 Flink 任務:

# we assume to be in the root directory of 
# the unzipped Flink distribution# export HADOOP_CLASSPATH
export HADOOP_CLASSPATH=`hadoop classpath`# Start YARN session
./bin/yarn-session.sh --detached# Stop YARN session (replace the application id based 
# on the output of the yarn-session.sh command)
echo "stop" | ./bin/yarn-session.sh -id application_XXXXX_XXX

啟動 Yarn 會話之后,即可通過命令輸出最后一行打印的 URL 或者 YARN ResourceManager Web UI 訪問 Flink Web UI。

然后,需要向 flink-conf.yaml 添加一些配置:

rest.bind-port: {{REST_PORT}}
rest.address: {{NODE_IP}}
execution.target: yarn-session
yarn.application.id: {{YARN_APPLICATION_ID}}

{{REST_PORT}} 和 {{NODE_IP}} 需要替換為 JobManager Web 接口的實際值,{{YARN_APPLICATION_ID}} 則需替換為 Flink 實際的 Yarn 應用 ID。

從發布頁面下載 Flink CDC 的 tar 文件,然后提取該歸檔文件:

tar -xzf flink-cdc-*.tar.gz

提取后的?flink-cdc?包含四個目錄:?binliblog?和?conf

從發布頁面下載連接器 jar,并將其移動至?lib?目錄中。 下載鏈接僅適用于穩定版本,SNAPSHOT 依賴項需要自己基于特定分支進行構建。

下面是一個用于整庫同步的示例文件?mysql-to-doris.yaml

################################################################################
# Description: Sync MySQL all tables to Doris
################################################################################
source:type: mysqlhostname: localhostport: 3306username: rootpassword: 123456tables: app_db.\.*server-id: 5400-5404server-time-zone: UTCsink:type: dorisfenodes: 127.0.0.1:8030username: rootpassword: ""pipeline:name: Sync MySQL Database to Dorisparallelism: 2

你可以按需修改配置文件。 最后,通過 Cli 將作業提交至 Flink Yarn Session 集群。

cd /path/flink-cdc-*
./bin/flink-cdc.sh mysql-to-doris.yaml

提交成功將返回如下信息:

Pipeline has been submitted to cluster.
Job ID: ae30f4580f1918bebf16752d4963dc54
Job Description: Sync MySQL Database to Doris

你可以通過 Flink Web UI 找到一個名為?Sync MySQL Database to Doris?的作業。

請注意,目前還不支持提交至 application 模式集群和 per-job 模式集群。

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

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

相關文章

day029-Shell自動化編程-計算與while循環

文章目錄 1. read 交互式初始化變量1.1 案例-安裝不同的軟件1.2 案例-比較大小 2. 計算2.1 bc2.2 awk2.3 expr2.4 let2.5 案例-計算內存的空閑率2.6 案例-檢查域名過期時間和https證書過期時間 3. 循環3.1 循環控制語句3.2 for循環-c語言格式3.3 while循環3.3.1 案例-猜數字3.3…

華為云Flexus+DeepSeek征文 | 基于華為云ModelArts Studio打造AingDesk AI聊天助手

華為云FlexusDeepSeek征文 | 基于華為云ModelArts Studio打造AingDesk AI聊天助手 引言一、ModelArts Studio平臺介紹華為云ModelArts Studio簡介ModelArts Studio主要特點 二、安裝AingDesk應用AingDesk應用介紹下載地址安裝AingDesk工具 三、開通DeepSeek-R1-0528商用服務訪問…

深度解析Git錯誤:`fatal: detected dubious ownership in repository` 的根源與解決方案

如果你是在使用自己的移動硬盤(U盤)操作項目時遇到的這個問題直接執行git config --global --add safe.directory X:/path即可,只要你的移動硬盤(U盤)沒有病毒就不會有安全問題。 深度解析Git錯誤:fatal: d…

基于Spring Boot的校園社區平臺設計與實現

目錄 一.🦁前言二.🦁開源代碼與組件使用情況說明三.🦁核心功能1. ?算法設計2. ?Thymeleaf模板引擎3. ?MyBatis Plus框架4. ?部署項目 四.🦁演示效果1. 管理員模塊1.1 用戶管理1.2 瀏覽管理員首頁1.3 論壇管理1.4 校園咨詢管理…

Java 8 Map 新增方法詳解

Java 8 Map 新增方法詳解 1. getOrDefault 源碼: default V getOrDefault(Object key, V defaultValue) {V v;return (((v get(key)) ! null) || containsKey(key))? v: defaultValue;}作用:安全獲取值,若key不存在則返回默認值 示例&…

山東大學 2025 web數據管理期末復習總結

SDU-2025年-Web數據管理期末總結 考試題型 填空 :都來自于PPT中名詞解釋簡答題:需要背一些公式。 根據L老師上課提及的重點一共總結了87問題。 文章目錄 SDU-2025年-Web數據管理期末總結考試題型第1講 緒論此章不考 第2講 網絡爬蟲技術2.1 爬蟲是什么…

Spring框架的設計模式

Spring 框架深度集成了多種經典設計模式,這些模式支撐了其核心功能(如IoC、AOP)的實現,以下是關鍵模式及其應用場景的梳理: 1、工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設計模式…

git報錯fatal: 遠端意外掛斷了

git報錯fatal: 遠端意外掛斷了 報錯詳細內容 mr.mbogon tinymce % git add . mr.mbogon tinymce % git commit -m init [master c6cfc2a] init1 file changed, 2 insertions(), 1 deletion(-) mr.mengbogon tinymce % git push 枚舉對象中: 241, 完成…

Windows 下安裝 NVM

NVM 下載 NVM 在工作中,你可能遇到過某個項目需要高版本的 node 才能運行,而有的項目可能只支持低版本的 node,此時就可以借助于一些 Node 版本管理工具,比如 nvm(Node Version Manager),幫助…

AI知識補全(十七):通用人工智能AGI是什么?

名人說:博觀而約取,厚積而薄發。——蘇軾《稼說送張琥》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 上一篇:AI知識補全(十六):A2A - 谷歌開源的agent通信協議是什么? 目錄 一、什么是AGI?概念解析1. 什么是AGI2. AGI與現有AI的本質區別二 、AGI的核…

Spring Cloud Gateway 介紹

什么是Spring Cloud Gateway? Spring Cloud Gateway 是 Spring Cloud 社區官方推出的一個基于 Spring Framework 5、Project Reactor 和 Spring Boot 2.x 的下一代 API 網關(API Gateway)解決方案。它旨在為微服務架構提供統一、簡潔、高效的…

slam--高斯分布

教程 博主解釋 高斯分布 高斯分布(Gaussian Distribution),又稱正態分布(Normal Distribution),是描述連續型隨機變量分布規律的一種概率分布。 (1) 一維高斯分布 μ:均值/數學期望&#xff0…

機器視覺標定講解

B站 :道傳科技上位機 觀看教程 一、什么是相機標定 相機標定(Camera Calibration)是指通過實驗或算法手段確定相機的內部參數(如焦距、主點坐標、畸變系數)和外部參數(如旋轉矩陣、平移向量&#xff0…

文件的秒傳、分片上傳以及斷點續傳 || Redis緩存減輕數據庫讀寫壓力

實現文件的秒傳、分片上傳以及斷點續傳的功能。使用 Redis 緩存上傳的文件分片信息減輕數據庫讀寫壓力,同時防止有人惡意攻擊服務器導致服務器磁盤爆滿無法提供服務。 🔍 詳解: 1. 實現文件的秒傳、分片上傳以及斷點續傳功能 秒傳&#xff0…

安全大模型智驅網絡和數據安全效能躍遷

從2023年ChatGPT開始,網絡安全行業就一直嘗試和AI大模型來結合,解決網絡安全的痛點,例如告警多,專家少,新的APT攻擊層出不窮,已有的基于規則的防護手段失靈,如何使用大模型的泛化能力來提升對未…

Android S - 恢復部分應用安裝

使用展銳提供的代碼編譯出來的固件&#xff0c;不包含DeskClock等應用。 之前也遇到過這個情況&#xff0c;只是時間太久忘記了&#xff0c;在這里再次記錄&#xff01; frameworks/native/data/etc/android.app.remove.xml<?xml version"1.0" encoding"ut…

android 之 CALL

一、組件職責與定位 組件所在進程核心職責關鍵特性CallsManagerTelecom系統進程通話狀態機核心&#xff1a;管理所有Call對象的生命周期&#xff08;創建、狀態更新、銷毀&#xff09;。監聽Call狀態變化并通知所有觀察者&#xff08;如InCallController&#xff09;。通過mLi…

Swift 6 學習筆記(二)The Basics

這篇筆記也是同步 Swift 6 官方教程中的第二篇 《The Basics》&#xff0c;這篇博客中的大部分內容在第一篇中已經涉及&#xff0c;這篇可以被認為是基礎類型的的補充篇&#xff0c;多了很多說明信息。 官方教學文檔 《The Basics》&#xff1a; Swift 提供了許多基本數據類型…

【PHP】BC Math 函數參考表

BC Math 函數參考表: 函數名描述語法bcadd兩個任意精度數字的加法bcadd($num1, $num2, [scale])bcsub兩個任意精度數字的減法bcsub($num1, $num2, [scale])bcmul兩個任意精度數字乘法bcmul($num1, $num2, [scale])bcdiv兩個任意精度數字除法bcdiv($num1, $num2, [scale])bcmod…

C# TAP異步編程(Task/async/await)總結

C#中有個很好用的東西&#xff0c;TAP異步編程&#xff08;Task-based Asynchronous Pattern&#xff09;&#xff0c;是目前C#推薦的異步編程模型。它基于 System.Threading.Tasks.Task 和 async/await 關鍵字&#xff0c;旨在簡化異步代碼的編寫、調試和維護。TAP 是現代 .NE…