背景说明
由于业务的定制化开发,需要对Dolphinscheduler进行二次开发,现将项目的启动步骤记录如下。
一、 基础软件安装(必装项请自行安装)
Maven: v3.5+,配阿里云仓库地址即可
Node: v16.+
MySQL (5.7系列) : 两者任选其一即可
JDK (1.8+) : 必装
ZooKeeper (3.7.1) :必装
ZooKeeper安装步骤如下
官网下载压缩包并解压到D:\Program Files (x86)\zookeeper-3.4.12
在D:\Program Files (x86)\zookeeper-3.4.12目录下新建data和log文件夹
复制conf目录下zoo_sample.cfg文件到同目录下,重命名为zoo.cfg(Zookeeper 在启动时会找这个文件作为默认配置文件)
修改zoo.cfg中的 dataDir 和 dataLogDir 的配置项为上面新建目录的路径
启动测试一下 服务端启动 启动客户端连接一下,成功二、下载源码到本地
源码地址:https://github.com/apache/dolphinscheduler.git
三、切换到指定分支,例如 3.1.1-xxx
四、切换到 dolphinscheduler-ui 目录
修改镜像源,推荐使用淘宝源,可以使用cnpm下载依赖
npm install -g cnpm --registry=https://registry.npmmirror.com/
安装前端依赖并运行前端组件
cd dolphinscheduler-uicnpm installcnpm run dev
Dolphinscheduler-ui 模块中的代码结构如下:
目录说明如下:
- node_modules是依赖包
- Public是根目录
- Src是文件项
- Assets是放置静态文件,如图片
- Components是放置封装的组件文件
- Layouts是放置整体页面ui布局的文件
- Locales是放置中英双语的配置的文件
- Router是放置Dolphinschedulerui的路由文件
- Service是放置后端接口文件
- Store是放置Pinia状态管理的文件
- Themes是放置项目的深色和浅色状态时的颜色信息文件,分为dark和light
- Utils是放置封装js方法的文件
- Views是放置项目代码文件
- app.tsx是配置整体框架页面
- Main.ts是配置项目公共方法,方便全局使用
五、跳过测试编译
六、执行数据库脚本
– 执行脚本前,创建数据库
CREATE DATABASE dolphinscheduler
;
七、修改ds数据源配置文件
如果使用 MySQL 作为元数据库,需要先修改 dolphinscheduler/pom.xml,将 mysql-connector-java 依赖的 scope 改为 compile
修改 Master 数据库配置,修改 dolphinscheduler-master/src/main/resources/application.yaml 文件中的数据库配置
修改 Worker 数据库配置,修改 dolphinscheduler-worker/src/main/resources/application.yaml 文件中的数据库配置
修改 Api 数据库配置,修改 dolphinscheduler-api/src/main/resources/application.yaml 文件中的数据库配置
八、修改zk配置
修改application.yml中zk的连接地址,如果这里采用windows本地安装zk的方式则不用修改,否则需要修改为对应的zk地址。
九、修改日志级别
修改日志级别:为以下配置增加一行内容 使日志能在命令行中显示
dolphinscheduler-master/src/main/resources/logback-spring.xml
dolphinscheduler-worker/src/main/resources/logback-spring.xml dolphinscheduler-api/src/main/resources/logback-spring.xml
添加内容如下:
<appender-ref ref="STDOUT"/>
修改后内容如下:
十、启动服务
需要启动三个服务,包括 MasterServer,WorkerServer,ApiApplicationServer
4.1 MasterServer,同理启动WorkerServer,ApiApplicationServer
执行 org.apache.dolphinscheduler.server.master.MasterServer 中的 main 方法,并配置VM Options
-Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql
注:VM Options -Dspring.profiles.active=mysql 中 mysql 表示指定的配置文件
启动时报如下错误:
Error running 'MasterServer': Command line is too long. Shorten command line for MasterServer or also for Spring Boot default configuration
解决办法:在项目的.idea/workspace.xml文件中,找到,后面在添加一行
<property name="dynamic.classpath" value="true" />
4.2 验证
启动完成可以浏览 Open API 文档,地址为 http://localhost:12345/dolphinscheduler/swagger-ui/index.html
十二、打包命令
前端打包命令
cd dolphinscheduler-uicnpm run build:prod
后端打包命令
mvn clean package -Prelease -Dmaven.test.skip=true