目录
一、前置条件
二、代码准备
三、前端环境搭建
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