目录
[1. 安装Node环境](#1. 安装Node环境)
[2. 安装PNPM](#2. 安装PNPM)
[3. 构建前端](#3. 构建前端)
[1. 本地编译依赖](#1. 本地编译依赖)
[2. 添加必要依赖](#2. 添加必要依赖)
[3. 启动后端服务](#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:8888 External: http://192.168.0.104:8888 Doc: http://192.168.0.104:8888/doc.html Druid Monitor: http://192.168.0.104:8888/druid/index.html Actuator: http://192.168.0.104:8888/actuator ----------------------------------------------------------
五、访问系统
-
浏览器访问:http://localhost:8000
-
首次登录:
-
用户名:
admin
-
密码:按引导界面设置初始密码
-

使用引导设置密码登录

登录成功,进入主页
