DolphinScheduler JeRome系列一:开发构建-从零单排

转载请注明出处~ http://t.csdn.cn/N8KEI

在这里插入图片描述
Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。官方文档固然好,下面整理一个从零开始编译源码学习、开发、后期维护的手册,以及源码分析,方便大家学习和使用。

1.开发篇

源码下载

  1. Github-DolphinScheduler

代码编译

支持的系统:

MacOS
Linux

命令如下:

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将会自动为您修复代码风格和格式问题。

依赖组件

  1. zookeeper
  2. JDK
  3. maven
  4. node
  5. pnpm

组件安装

zookeeper:
  1. 在 ZooKeeper 的目录下新建 zkData、zkLog文件夹
  2. 将 conf 目录下的 zoo_sample.cfg 文件,复制一份,重命名为 zoo.cfg,

修改其中数据和日志的配置,如:

dataDir=/Users/liushengjie/program/zookeeper/zkData ## 此处使用绝对路径
dataLogDir=/Users/liushengjie/program/zookeeper/zkLog
  1. 运行 ./bin/zkServer.sh
JDK

安装详情+环境变量配置

maven

安装+环境变量配置

node

安装

pnpm

安装

数据库

1.数据库安装

点击MySQL,选择5.7.30版本(mac支持最高版本),其他类型也可更高,安装。

2.数据库密码修改
mysql -uroot -p; -- 在输入密码
set password for 用户名@localhost = password(‘新密码’);
set password for root@localhost = password(‘root’);
flush privileges;
3.初始化数据库
mysql -uroot -p; -- 在输入密码
create database dolphinscheduler;
-- 根据工程内sql文件初始化库表+数据
source /Users/liushengjie/Documents/workspace/dolphinscheduler-3.1.5/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
4.客户端链接(非必选,任选)

点击dbeaver,下载客户端,配置链接。
点击navicate,下载客户端,配置链接。

开发环境代码构建

1.修改pom文件

在启动代码前,我们需要配置好MySQL数据库连接。

  • 如果使用 MySQL 作为元数据库,需要先修改 dolphinscheduler-pom/pom.xml,将 mysql-connector-java 依赖的 scope 改为 compile,使用 PostgreSQL 则不需要
2.修改yaml文件
  • 修改 dolphinscheduler-Master 数据库配置,修改 dolphinscheduler-master/src/main/resources/application.yaml 文件中的数据库配置
  • 修改 dolphinscheduler-Worker 数据库配置,修改 dolphinscheduler-worker/src/main/resources/application.yaml 文件中的数据库配置
  • 修改 dolphinscheduler-Api 数据库配置,修改 dolphinscheduler-api/src/main/resources/application.yaml 文件中的数据库配置

如何可以,尽量不要使用root用户,开发为了方便,暂时使用。

  datasource:
    config:
      activate:
        on-profile: mysql
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 1111
3.修改日志文件logback-spring.xml

修改日志级别:为以下配置增加一行内容 使日志能在命令行中显示

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>
2.启动后端
  • MasterServer:
    启动类: org.apache.dolphinscheduler.server.master.MasterServer#main
    VM Options: -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql

  • WorkerServer:
    启动类: org.apache.dolphinscheduler.server.worker.WorkerServer#main
    VM Options: -Dlogging.config=classpath:logback-spring.xml -Ddruid.mysql.usePingMethod=false -Dspring.profiles.active=mysql

  • ApiApplicationServer:
    启动类: org.apache.dolphinscheduler.api.ApiApplicationServer#main
    VM Options: -Dlogging.config=classpath:logback-spring.xml -Dspring.profiles.active=api,mysql。

启动完成可以浏览 Open API 文档 - SWAGGER

VM Options -Dspring.profiles.active=mysql 中 mysql 表示指定的配置文件

源码解析

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值