目錄
一、前置條件
二、代碼準備
三、前端環境搭建
1. 安裝Node環境
2. 安裝PNPM
3. 構建前端
四、后端環境搭建
1. 本地編譯依賴
2. 添加必要依賴
3. 啟動后端服務
五、訪問系統
附錄:官方參考
一、前置條件
確保已安裝以下軟件:
軟件 | 要求/說明 |
---|---|
Git | 版本控制工具 |
JDK | Java 8 或 11 |
Maven | ≥3.6.0 |
Node.js | 前端運行環境 |
MySQL/PostgreSQL | 數據庫(或使用內置H2) |
IntelliJ IDEA | ≥2023.2版本 |
Lombok插件 | IDEA插件(需手動安裝) |
二、代碼準備
-
克隆代碼庫:
git clone https://github.com/DataLinkDC/dinky.git
-
使用IntelliJ IDEA導入項目
三、前端環境搭建
1. 安裝Node環境
# 安裝nvm brew install nvm ? # 安裝Node 18 nvm install 18 nvm use 18 ? # 驗證安裝 node -v ?# 應顯示v18.x npm -v ? # 應顯示9.x+
2. 安裝PNPM
npm install -g pnpm pnpm -v ?# 驗證安裝
3. 構建前端
cd dinky-web pnpm install ? ?# 安裝依賴 npm run dev ? ? # 啟動開發服務
? 成功標志:
? ? ? ╔════════════════════════════════════════════════════╗║ App listening at: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ║║ > ? Local: http://localhost:8000 ? ? ? ? ? ? ? ? ║ ready - ║ > Network: http://192.168.0.104:8000 ? ? ? ? ? ? ║║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ║║ Now you can open browser with the above addresses↑ ║╚════════════════════════════════════════════════════╝ ?
四、后端環境搭建
1. 本地編譯依賴
-
在IDEA中打開Maven面板
-
勾選Profiles:
-
aliyun
-
dev
-
fast
-
flink-1.16
-
flink-single-version
-
jdk11
-
mac
-
web
-
-
執行生命周期 →
install
2. 添加必要依賴
說明:這塊依賴內容官檔介紹選擇了profile: dev后理論不需要,但筆者親測完全行不通,下面依賴除了從flink1.16安裝文件拷貝外還有實際跟蹤代碼過程中遇到的各種
依賴不存在
項目整理得來,整個過程可以說挺折磨人。筆者覺得手動導入這些依賴比較怪異,如果是筆者哪里沒有考慮全還請留言反饋,共同交流,共同成長。
---------------
說明
筆者經過多次測試發現按照上述profile配置執行install操作,可以在不需要手動加載上述依賴前提下啟動dinky后端服務;
如果install后不能重新啟動服務請執行maven reload操作,然后install在運行Dinky主類,反復多執行幾次便可以正常通過;
在dinky/lib/
目錄下放入以下JAR文件:
flink-cep-1.16.3.jar flink-connector-files-1.16.3.jar flink-connector-kafka-1.16.3.jar flink-csv-1.16.3.jar flink-dist-1.16.3.jar flink-json-1.16.3.jar flink-s3-fs-presto-1.16.3.jar flink-scala_2.12-1.16.3.jar flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar flink-shaded-zookeeper-3.5.9.jar flink-sql-connector-mysql-cdc-3.2.0.jar flink-state-processor-api-1.16.3.jar flink-table-api-java-uber-1.16.3.jar flink-table-planner_2.12-1.16.3.jar flink-table-runtime-1.16.3.jar kafka-clients-2.0.0.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
3. 啟動后端服務
筆者在本次構建開發環境過程中沒有使用mysql數據庫保存元數據,僅用了默認H2數據庫作為測試用,如讀者有必要可參考官方文檔配置mysql數據源。
-
定位啟動類:
dinky-admin/src/main/java/org/dinky/Dinky.java
-
右鍵運行
main()
方法 -
控制臺出現下面內容表示啟動成功
----------------------------------------------------------Application 'Dinky' is running! Access URLs:Local: http://localhost:8888External: http://192.168.0.104:8888Doc: http://192.168.0.104:8888/doc.htmlDruid Monitor: http://192.168.0.104:8888/druid/index.htmlActuator: http://192.168.0.104:8888/actuator ----------------------------------------------------------
五、訪問系統
-
瀏覽器訪問:http://localhost:8000
-
首次登錄:
-
用戶名:
admin
-
密碼:按引導界面設置初始密碼
-
使用引導設置密碼登錄
登錄成功,進入主頁
附錄:官方參考
-
快速體驗
-
本地調試指南
-
部署FAQ