【Dolphinscheduler3.1.1】二次开发本地启动项目(前端+后端)

hap0728 2024-06-20 09:03:03 阅读 56

背景说明

由于业务的定制化开发,需要对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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。