Dinky 安裝部署并配置提交 Flink Yarn 任務

官方文檔

https://www.dinky.org.cn/docs/1.1/deploy_guide/normal_deploy

版本

  • dinky 1.1.0、1.2.3 當前最新發布版本為 1.2.3 ,但是官方文檔最新穩定版為 1.1 ,所以先選擇 1.1.0,驗證通過后,再嘗試 1.2.3 ,發現 1.1.0 和 1.2.3 的安裝配置完全一樣,都能正常使用。
  • Flink 1.15.3

安裝包

https://github.com/DataLinkDC/dinky/releases/download/v1.1.0/dinky-release-1.15-1.1.0.tar.gz
https://github.com/DataLinkDC/dinky/releases/download/v1.2.3/dinky-release-1.15-1.2.3.tar.gz

解壓

tar -zxvf dinky-release-1.15-1.1.0.tar.gz
mv dinky-release-1.15-1.1.0 dinky
mv dinky /opt/

數據庫初始化

創建庫和用戶

myql-5.x

#登錄mysql
mysql -uroot -p
#創建數據庫
mysql>
CREATE DATABASE dinky;
#創建用戶并允許遠程登錄
mysql>
create user 'dinky'@'%' IDENTIFIED WITH mysql_native_password by 'dinky';
#授權
mysql>
grant ALL PRIVILEGES ON dinky.* to 'dinky'@'%';
mysql>
flush privileges;

msyql-8.x

#登錄mysql
mysql -uroot -p
#創建數據庫
mysql>
CREATE DATABASE dinky;
#創建用戶并允許遠程登錄
mysql>
create user 'dinky'@'%' IDENTIFIED WITH mysql_native_password by 'dinky';
#授權
mysql>
grant ALL PRIVILEGES ON dinky.* to 'dinky'@'%';
mysql>
flush privileges;

初始化表

mysql> use dinky;
mysql> source /opt/dinky/sql/dinky-mysql.sql

配置

創建好數據庫后,修改 Dinky 配置文件,選擇默認數據源為 mysql。

cd /opt/dinky/config/
vi application.yml
# 修改 Dinky 所使用的數據庫類型為 mysql
spring:application:name: Dinkyprofiles:# The h2 database is used by default. If you need to use other databases, please set the configuration active to: mysql, currently supports [mysql, pgsql, h2]# If you use mysql database, please configure mysql database connection information in application-mysql.yml# If you use pgsql database, please configure pgsql database connection information in application-pgsql.yml# If you use the h2 database, please configure the h2 database connection information in application-h2.yml,# note: the h2 database is only for experience use, and the related data that has been created cannot be migrated, please use it with cautionactive: ${DB_ACTIVE:mysql} #[h2,mysql,pgsql]

修改 Dinky 的 mysql 的配置文件。

vi application-mysql.yml
# 修改 Dinky 的 mysql 鏈接配置
spring:datasource:url: jdbc:mysql://${MYSQL_ADDR:127.0.0.1:3306}/${MYSQL_DATABASE:dinky}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: ${MYSQL_USERNAME:dinky}password: ${MYSQL_PASSWORD:dinky}driver-class-name: com.mysql.cj.jdbc.Driver

注意:當MySQL 和 Dinky 在相同的機器,雖然配置 MySQL 的IP 為默認的 127.0.0.1,Dinky 也能正常運行,但是當提交 yarn-application任務時,ApplicationMaster需要連接 MySQL 獲取任務信息,如果ApplicationMaster在別的節點,則會報連接MySQL失敗,所以需要將 IP 由 127.0.0.1 改為別的節點也能連接的 IP

上傳依賴

主要是將 flink lib 下的jar 包傳到 extends/flink${FLINK_VERSION}

cp lib/* /opt/dinky/extends/flink1.15/dinky/

例如

flink-cep-1.15.3.jar
flink-connector-files-1.15.3.jar
flink-connector-jdbc-1.15.3.jar
flink-csv-1.15.3.jar
flink-dist-1.15.3.jar
flink-json-1.15.3.jar
flink-scala_2.12-1.15.3.jar
flink-shaded-hadoop-2-uber-2.7.5-8.0.jar
flink-shaded-zookeeper-3.5.9.jar
flink-table-api-java-uber-1.15.3.jar
# !!!特別注意,flink自帶lib里的planner是帶loader的,比如:flink-table-planner-loader-1.15.3.jar,
# 需要刪除帶loader的jar包,換一個不帶loader的jar, 可前往flink根下的opt目錄中找到
# 對于standalone,hdfs,k8s等集群上的flink集群同樣要做此操作
flink-table-planner_2.12-1.15.3.jarflink-table-runtime-1.15.3.jar
log4j-1.2-api-2.17.1.jar
log4j-api-2.17.1.jar
log4j-core-2.17.1.jar
log4j-slf4j-impl-2.17.1.jar

啟動 Dinky

#啟動
sh auto.sh start
#停止
sh auto.sh stop
#重啟
sh auto.sh restart
#查看狀態
sh auto.sh status# 前臺啟動(調試使用,會輸出日志,阻塞當前終端,結束請Ctrl+C,但是會直接退出服務,僅供啟動時無日志輸出且在排查問題時使用)
sh auto.sh startOnPending

說明
服務啟動后,默認端口 8888,http://127.0.0.1:8888 , 默認用戶名/密碼: admin/dinky123!@# ,如需修改,請使用默認用戶名/密碼登錄后,在認證中心->用戶中修改

Dinky 部署需要 MySQL5.7 以上版本

以下是對應版本的截圖

1.1.0


1.2.3

相比于 1.1.0 ,1.2.3 版本在第一次安裝登錄時,多了一些初始配置界面。






源碼編譯

官網

https://www.dinky.org.cn/docs/1.1/deploy_guide/compile_deploy
https://github.com/DataLinkDC/dinky

打包命令

# 需要網絡能下載 nodejs、npm
mvn clean package -DskipTests=true -P prod,flink-single-version,aliyun,flink-1.15,web

編譯結果

編譯完成后,請查看編譯后的目錄,如果編譯成功,會在 dinky/build 目錄下生成對應的版本的 tar.gz 包

問題解決

1.1.0 以及最新的 1.3.0-SNAPSHOT(dev分支)打包都正常,但是 1.2.3 會報:

[ERROR] Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.27.1:check (spotless-check) on project dinky-common: Execution spotless-check of goal com.diffplug.spotless:spotless-maven-plugin:2.27.1:check failed: java.lang.reflect.InvocationTargetException: com/palantir/javaformat/java/JavaFormatterOptions has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 -> [Help 1]

解決方法:將 pom 中的 spotless-maven-plugin 配置刪掉

提交 Flink Yarn 任務

首先需要創建集群,官方文檔:https://www.dinky.org.cn/docs/1.1/user_guide/register_center/cluster_manage
Flink 路徑:和在 上傳依賴 步驟中一樣,將Flink 的lib 包上傳到對應的 HDFS 路徑
Jar 文件路徑: 將 $DINKY_HOME/jar 下面的 jar 包上傳到對應的 HDFS 路徑

1.1.0

創建集群

默認禁用,需要啟用

數據開發-> 創建作業

提交到yarn: 選擇剛才創建的集群

1.2.3

創建集群

默認啟用

數據開發-> 創建作業

yarn-per-job: 選擇剛才創建的集群

yarn-application

異常解決

Caused by: java.lang.IncompatibleClassChangeError: org/apache/flink/sql/parser/validate/FlinkSqlConformance

原因為在升級 Hudi 0.13.0時添加了 calcite-core-1.10.0.jar, 導致沖突,刪掉即可。

Caused by: org.dinky.data.exception.BusException: The JobID or JobManagerAddress is null. 

1.1.0 yarn-application 模式報該異常,未解決,升級到 1.2.3 即可。

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

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

相關文章

java連數據庫

一、準備工作 ??安裝MySQL數據庫?? 確保已安裝MySQL服務器并啟動服務 ??下載JDBC驅動?? 官方驅動&#xff1a;MySQL Connector/JMaven依賴&#xff1a; <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactI…

【生態信息】開源軟件全方位解析

開源軟件(0pen Source Software&#xff0c;0ss)是指其源代碼可以公開發布、查看、使用和修改的軟件。這一概念的核心在于開放性和共享性&#xff0c;允許開發者自由地使用、修改、分發以及改進軟件。開源軟件通常遵循特定的開源許可證&#xff0c;這些許可證確保了軟件的自由使…

探秘 DeerFlow:字節跳動開源的科研創作魔法盒!

1.前言 字節跳動于2025年5月9日開源了名為DeerFlow的全新Deep Research項目&#xff0c;該項目基于LangStack框架&#xff0c;旨在通過人工智能技術簡化科研和內容創作流程。DeerFlow整合了語言模型、網絡搜索、爬蟲和Python代碼執行等多種工具&#xff0c;支持深度研究、MCP集…

機器學習第十一講:標準化 → 把厘米和公斤單位統一成標準值

機器學習第十一講&#xff1a;標準化 → 把厘米和公斤單位統一成標準值 資料取自《零基礎學機器學習》。 查看總目錄&#xff1a;學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章&#xff1a;DeepSeek R1本地與線上滿血版部署&#xff1a;超詳細手把手指南 一、買菜…

less中使用 @supports

在Less中使用supports supports 是CSS的條件規則&#xff0c;用于檢測瀏覽器是否支持特定的CSS屬性或值。在Less中&#xff0c;你可以像在普通CSS中一樣使用supports&#xff0c;同時還能利用Less的特性來增強它。 基本用法 /* 檢測瀏覽器是否支持display: flex */ supports …

LeetCode Hot100 (1/100)

目錄 一、有關數組和動態數組的排序&#xff08;sort函數&#xff09; 1.普通數組的排序 基本用法 降序排序 2.vector的排序 基本用法 降序排序 二、數組長度和一些vector的基本語法 1. 靜態數組長度計算? 2. 安全獲取數組長度&#xff08;C17 起&#xff09;? 3.vecto…

通過MCP讓LLM調用系統接口

場景 MCP的出現大大豐富了LLM的功能&#xff0c;對于存量系統&#xff0c;我們希望能讓模型調用已有的接口&#xff0c;以最小的成本讓AI能夠獲取系統內部數據。因此我們開發了一個名為http-api-call的MCP Server&#xff0c;來支持模型到內部API的調用 實現方案 使用用標準…

基于Transformer的多資產收益預測模型實戰(附PyTorch實現與避坑指南)

基于Transformer的多資產收益預測模型實戰(附PyTorch模型訓練及可視化完整代碼) 一、項目背景與目標 在量化投資領域,利用時間序列數據預測資產收益是核心任務之一。傳統方法如LSTM難以捕捉資產間的復雜依賴關系,而Transformer架構通過自注意力機制能有效建模多資產間的聯…

養生:打造健康生活的全方位策略

在生活節奏不斷加快的當下&#xff0c;養生已成為提升生活質量、維護身心平衡的重要方式。從飲食、運動到睡眠&#xff0c;再到心態調節&#xff0c;各個方面的養生之道共同構建起健康生活的堅實基礎。以下為您詳細介紹養生的關鍵要點&#xff0c;助您擁抱健康生活。 飲食養生…

輕型汽車鼓式液壓制動器系統設計

一、設計基礎參數 1.1 整車匹配參數 參數項數值范圍整備質量1200-1500kg最大設計車速160km/h輪胎規格195/65 R15制動法規要求GB 12676-2014 1.2 制動性能指標 制動減速度&#xff1a;≥6.2m/s&#xff08;0型試驗&#xff09; 熱衰退率&#xff1a;≤30%&#xff08;連續10…

無法更新Google Chrome的解決問題

解決問題&#xff1a;原文鏈接&#xff1a;【百分百成功】Window 10 Google Chrome無法啟動更新檢查&#xff08;錯誤代碼為1&#xff1a;0x80004005&#xff09; google谷歌chrome瀏覽器無法更新Chrome無法更新至最新版本&#xff1f; 下載了 就是更新Google Chrome了

【AAAI 2025】 Local Conditional Controlling for Text-to-Image Diffusion Models

Local Conditional Controlling for Text-to-Image Diffusion Models&#xff08;文本到圖像擴散模型的局部條件控制&#xff09; 文章目錄 內容摘要關鍵詞作者及研究團隊項目主頁01 研究領域待解決問題02 論文解決的核心問題03 關鍵解決方案04 主要貢獻05 相關研究工作06 解決…

Kuka AI音樂AI音樂開發「人聲伴奏分離」 —— 「Kuka Api系列|中文咬字清晰|AI音樂API」第6篇

導讀 今天我們來了解一下 Kuka API 的人聲與伴奏分離功能。 所謂“人聲伴奏分離”&#xff0c;顧名思義&#xff0c;就是將一段完整的音頻拆分為兩個獨立的軌道&#xff1a;一個是人聲部分&#xff0c;另一個是伴奏&#xff08;樂器&#xff09;部分。 這個功能在音樂創作和…

Idea 設置編碼UTF-8 Idea中 .properties 配置文件中文亂碼

Idea 設置編碼UTF-8 Idea中 .properties 配置文件中文亂碼 一、設置編碼 1、步驟&#xff1a; File -> Setting -> Editor -> File encodings --> 設置編碼二、配置文件中文亂碼 1、步驟&#xff1a; File -> Setting -> Editor -> File encodings ->…

Xilinx FPGA PCIe | XDMA IP 核 / 應用 / 測試 / 實踐

注&#xff1a;本文為 “Xilinx FPGA 中 PCIe 技術與 XDMA IP 核的應用” 相關文章合輯。 圖片清晰度受引文原圖所限。 略作重排&#xff0c;未整理去重。 如有內容異常&#xff0c;請看原文。 FPGA&#xff08;基于 Xilinx&#xff09;中 PCIe 介紹以及 IP 核 XDMA 的使用 N…

sqli—labs第六關——雙引號報錯注入

一&#xff1a;判斷輸入類型 首先測試 ?id1&#xff0c;?id1&#xff0c;?id1"&#xff0c;頁面回顯均無變化 所以我們采用簡單的布爾測試&#xff0c;分別測試數字型&#xff0c;單引號&#xff0c;雙引號 然后發現&#xff0c;只有在測試到雙引號注入的時候符合關鍵…

【TroubleShoot】禁用Unity Render Graph API 兼容模式

使用Unity 6時新建了項目&#xff0c;有一個警告提示&#xff1a; The project currently uses the compatibility mode where the Render Graph API is disabled. Support for this mode will be removed in future Unity versions. Migrate existing ScriptableRenderPasses…

圖形學、人機交互、VR/AR、可視化等領域文獻速讀【持續更新中...】

&#xff08;1&#xff09;筆者在時間有限的情況下&#xff0c;想要多積累一些自身課題之外的新文獻、新知識&#xff0c;所以開了這一篇文章。 &#xff08;2&#xff09;想通過將文獻喂給大模型&#xff0c;并向大模型提問的方式來快速理解文獻的重要信息&#xff08;如基礎i…

Hadoop-HDFS-Packet含義及作用

在 HDFS&#xff08;Hadoop Distributed File System&#xff09;中&#xff0c;Packet 是數據讀寫過程中用于數據傳輸的基本單位。它是 HDFS 客戶端與數據節點&#xff08;DataNode&#xff09;之間進行數據交互時的核心概念&#xff0c;尤其在寫入和讀取文件時&#xff0c;Pa…

顯示的圖標跟UI界面對應不上。

圖片跟UI界面不符合。 要找到對應dp的值。UI的dp要跟代碼里的xml文件里的dp要對應起來。 藍湖里設置一個寬度給對應上。然后把對應的值填入xml. 一個屏幕上的圖片到底是用topmarin來設置&#xff0c;還是用bottommarin來設置。 因為第一節&#xff0c;5&#xff0c;7 車廂的…