目录
一、前置条件
确保已安装以下软件:
软件 | 要求/说明 |
---|---|
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安装文件拷贝外还有实际跟踪代码过程中遇到的各种
依赖不存在
项目整理得来,整个过程可以说挺折磨人。笔者觉得手动导入这些依赖比较怪异,如果是笔者哪里没有考虑全还请留言反馈,共同交流,共同成长。
在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
密码:按引导界面设置初始密码
使用引导设置密码登录
登录成功,进入主页