同步操作将从 DolphinScheduler/DolphinScheduler 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
在搭建 DolphinScheduler 开发环境之前请确保你已经安装以下软件:
通过你 git 管理工具下载 git 代码,下面以 git-core 为例
mkdir dolphinscheduler
cd dolphinscheduler
git clone git@github.com:apache/dolphinscheduler.git
支持的系统:
运行 mvn clean install -Prelease -Dmaven.test.skip=true
DolphinScheduler使用Spotless
检查并修复代码风格和格式问题。
您可以执行如下的命令,Spotless
将会为您自动检查并修复代码风格和格式问题。
./mvnw spotless:apply
您可将/style/pre-commit
目录下的pre-commit hook
文件拷贝到您的.git/hooks/
目录下,这样您每次使用git commit
命令时,Spotless
将会自动为您修复代码风格和格式问题。
DolphinScheduler 每次发版都会同时发布 Docker 镜像,你可以在 Docker Hub 中找到这些镜像
cd dolphinscheduler
./mvnw -B clean package \
-Dmaven.test.skip \
-Dmaven.javadoc.skip \
-Dmaven.checkstyle.skip \
-Ddocker.tag=<TAG> \
-Pdocker,release
当命令运行完了后你可以通过 docker images
命令查看刚刚创建的镜像
cd dolphinscheduler
./mvnw -B clean deploy \
-Dmaven.test.skip \
-Dmaven.javadoc.skip \
-Dmaven.checkstyle.skip \
-Dmaven.deploy.skip \
-Ddocker.tag=<TAG> \
-Ddocker.hub=<HUB_URL> \
-Pdocker,release
cd dolphinscheduler
find . -iname 'Dockerfile'
之后再运行上面的构建镜像命令
FROM dolphinscheduler-standalone-server
RUN apt update ; \
apt install -y <YOUR-CUSTOM-DEPENDENCE> ; \
注意: Docker默认会构建并推送 linux/amd64,linux/arm64 多架构镜像
必须使用Docker 19.03及以后的版本,因为19.03及以后的版本包含 buildx
DolphinScheduler 开发环境配置有两个方式,分别是standalone模式,以及普通模式
注意: 仅供单机开发调试使用,默认使用 H2 Database,Zookeeper Testing Server
Standalone 仅在 DolphinScheduler 1.3.9 及以后的版本支持
开发不同的代码需要基于不同的分支
1.3.9-release
dev
分支在 Intellij IDEA 找到并启动类 org.apache.dolphinscheduler.StandaloneServer
即可完成后端启动
安装前端依赖并运行前端组件
注意:你可以在frontend development里查看更多前端的相关配置
cd dolphinscheduler-ui
pnpm install
pnpm run dev
截止目前,前后端已成功运行起来,浏览器访问http://localhost:3000,并使用默认账户密码 admin/dolphinscheduler123 即可完成登录
下载 ZooKeeper,解压
在 ZooKeeper 的目录下新建 zkData、zkLog文件夹
将 conf 目录下的 zoo_sample.cfg
文件,复制一份,重命名为 zoo.cfg
,修改其中数据和日志的配置,如:
dataDir=/data/zookeeper/data ## 此处使用绝对路径
dataLogDir=/data/zookeeper/datalog
运行 ./bin/zkServer.sh
DolphinScheduler 的元数据存储在关系型数据库中,目前支持的关系型数据库包括 MySQL 以及 PostgreSQL。下面以MySQL为例,启动数据库并创建新 database 作为 DolphinScheduler 元数据库,这里以数据库名 dolphinscheduler 为例
创建完新数据库后,将 dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
下的 sql 文件直接在 MySQL 中运行,完成数据库初始化
下面步骤将引导如何启动 DolphinScheduler 后端服务
打开项目:使用开发工具打开项目,这里以 Intellij IDEA 为例,打开后需要一段时间,让 Intellij IDEA 完成以依赖的下载
必要的修改
dolphinscheduler/pom.xml
,将 mysql-connector-java
依赖的 scope
改为 compile
,使用 PostgreSQL 则不需要dolphinscheduler-master/src/main/resources/application.yaml
文件中的数据库配置dolphinscheduler-worker/src/main/resources/application.yaml
文件中的数据库配置dolphinscheduler-api/src/main/resources/application.yaml
文件中的数据库配置本样例以 MySQL 为例,其中数据库名为 dolphinscheduler,账户名密码均为 dolphinscheduler
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
username: dolphinscheduler
password: dolphinscheduler
修改日志级别:为以下配置增加一行内容 <appender-ref ref="STDOUT"/>
使日志能在命令行中显示
dolphinscheduler-master/src/main/resources/logback-spring.xml
dolphinscheduler-worker/src/main/resources/logback-spring.xml
dolphinscheduler-api/src/main/resources/logback-spring.xml
修改后的结果如下:
<root level="INFO">
+ <appender-ref ref="STDOUT"/>
<appender-ref ref="APILOGFILE"/>
<appender-ref ref="SKYWALKING-LOG"/>
</root>
我们需要启动三个服务,包括 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
org.apache.dolphinscheduler.server.worker.WorkerServer
中的 main
方法,并配置 VM Options -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql
org.apache.dolphinscheduler.api.ApiApplicationServer
中的 main
方法,并配置 VM Options -Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql
。启动完成可以浏览 Open API 文档,地址为 http://localhost:12345/dolphinscheduler/doc.html
VM Options
-Dspring.profiles.active=mysql
中mysql
表示指定的配置文件
安装前端依赖并运行前端组件
cd dolphinscheduler-ui
pnpm install
pnpm run dev
截止目前,前后端已成功运行起来,浏览器访问http://localhost:3000,并使用默认账户密码 admin/dolphinscheduler123 即可完成登录
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。