Dinky (Mac) 本地开发环境搭建指南

目录

一、前置条件

二、代码准备

三、前端环境搭建

[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插件(需手动安装)

二、代码准备

  1. 克隆代码库:
复制代码
git clone https://github.com/DataLinkDC/dinky.git
  1. 使用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. 本地编译依赖
  1. 在IDEA中打开Maven面板

  2. 勾选Profiles

    • aliyun

    • dev

    • fast

    • flink-1.16

    • flink-single-version

    • jdk11

    • mac

    • web

  3. 执行生命周期 → 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数据源。

  1. 定位启动类:dinky-admin/src/main/java/org/dinky/Dinky.java

  2. 右键运行main()方法

  3. 控制台出现下面内容表示启动成功

    复制代码
    ----------------------------------------------------------
        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
    ----------------------------------------------------------

五、访问系统

  1. 浏览器访问:http://localhost:8000

  2. 首次登录:

    • 用户名:admin

    • 密码:按引导界面设置初始密码

使用引导设置密码登录

登录成功,进入主页


附录:官方参考