背景说明
由于业务的定制化开发,需要对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-ui
cnpm install
cnpm 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-ui
cnpm run build:prod
 
后端打包命令
mvn clean package -Prelease -Dmaven.test.skip=true
                


















