Apache DolphinScheduler(2.x和3.x版本) 本地环境搭建教程一览

在迅速变化的技术领域,本地环境的搭建和调试对于软件开发的效率和效果至关重要。本文将详细介绍如何为Apache DolphinScheduler搭建一个高效的本地开发环境,包括2.x和3.x版本的设置方法。

file

无论您是初学者还是有经验的开发者,本指南都将帮助您快速启动并运行,有效地进行本地代码调试。

依赖项

  • Mysql
  • ZooKeeper

说明

其他的 Git、Maven、JDK、Node等工具,这里不做详细安装说明。

注意Apache DolphinScheduler 2.x 版本使用 node v12.20 , 3.x 版本使用 node v16.13+。

本地开发搭建更多的是为了方便调试代码,用于调试现有的逻辑,定位问题,学习源码等,如果有现成的测试环境,建议不要在本地在安装额外的Mysql等环境了,直接使用测试环境的 Mysql、ZK 等环境,那就跳过这一步往后看!

如果你没有测试环境,本地还是需要搭建 Mysql 和 ZooKeeper 的话,也非常简单。

安装 ZooKeeper

https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/

file

① 下载之后,解压到一个目录 ,在这个目录下新建 zkDatazkLog 文件夹。
② 将 Conf 目录下的 zoo_sample.cfg 文件,复制一份,重命名为 zoo.cfg,修改其中数据和日志的配置,如:

dataDir=/data/zookeeper/data ## 此处使用绝对路径,具体路径根据实际情况
dataLogDir=/data/zookeeper/datalog

③ 运行 ./bin/zkServer.sh

安装Mysql

访问 https://dev.mysql.com/downloads/mysql/

Mac用户:

file

Windows 用户:

file

其他的,安装一直点Next即可。

安装完 Mysql 之后,需要初始化数据。
① 在Mysql中新建库,用于DolphinScheduler调用

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

② 新建DolphinScheduler用户,并赋予DolphinScheduler库权限

CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
CREATE USER 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost';
FLUSH PRIVILEGES;

③ 执行 SQL
在 Mysql 的 DolphinScheduler 库中执行 DolphinScheduler源码目录下的\*\*dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql \*\*的文件,以此完成数据的初始化。

配置注册中心

修改 Zookepper 的配置信息

如果你使用的是本地的 ZK,配置默认就是 127.0.0.1:2181 ,这一步可以跳过,不需要修改。

如果你是用的是其他服务器的 ZK,修改下图中位置的连接信息即可。

file

启动后端

说明

这里呢,2.x 版本和 3.x 版本会有点不一样。如图:

file

file

在修改的时候,请注意找到对应的位置。

启动 API 服务

① 2.X 版本和 3.X 版本一样,在 dolphinscheduler-api 模块的 resources 下面,新增 yaml 文件 application-mysql.yaml

内容如下:注意修改成自己的 Mysql 连接信息

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://你的IP:3306/数据库?characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: 你的用户
    password: 你的密码
    hikari:
      connection-test-query: select 1
      minimum-idle: 5
      auto-commit: true
      validation-timeout: 3000
      pool-name: DolphinScheduler
      maximum-pool-size: 50
      connection-timeout: 30000
      idle-timeout: 600000
      leak-detection-threshold: 0
      initialization-fail-timeout: 1

图示:

file

② 修改日志输出到控制台,在 dolphinscheduler-api 模块的 resources 下面,修改 logback-api.xml 文件。

<root level="INFO">
  <appender-ref ref="STDOUT"/>
  <appender-ref ref="APILOGFILE"/>
</root>

图示:

file

③ 启动 API 服务 默认端口是:7080
配置 \_VM Options : \_-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=mysql,api 把红色部分复制到👇下面。
图示:

file

file

启动 Master 服务

注意,这里 2.X 版本和 3.X 版本有区别,请对号入座。

  • 在 2.X 版本中,在 dolphinscheduler-server 模块的 resources 下面,新增 yaml 文件 application-mysql.yaml 在 3.X 版本中,在 dolphinscheduler-master 模块的 resources 下面,新增 yaml 文件 application-mysql.yaml,内容如下:
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://你的IP:3306/数据库?characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: 你的用户
    password: 你的密码
    hikari:
      connection-test-query: select 1
      minimum-idle: 5
      auto-commit: true
      validation-timeout: 3000
      pool-name: DolphinScheduler
      maximum-pool-size: 50
      connection-timeout: 30000
      idle-timeout: 600000
      leak-detection-threshold: 0
      initialization-fail-timeout: 1

  • 修改日志输出到控制台,在 dolphinscheduler-server 模块的 resources 下面,修改 logback-master.xml 文件。
<root level="INFO">
  <appender-ref ref="STDOUT"/>
  <appender-ref ref="APILOGFILE"/>
</root>

图示:

file

  • 启动 Master

配置 VM Options:–Dlogging.config=classpath:logback-master.xml-Dspring.profiles.active=mysql,master
把红色部分复制到👇下面:

file

file

启动 Worker 服务

注意,这里 2.X 版本和 3.X 版本有区别,请对号入座。

  • 在 2.X 版本中,masterworker在一个模块里面,在上一步的Master服务中已经配置过了,这里直接跳到启动服务那一步(直接看③)。

如果你用的是3.X版本,请继续看: 在 3.X 版本中,在 dolphinscheduler-worker 模块的 resources 下面,新增 yaml 文件 application-mysql.yaml,内容如下:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://你的IP:3306/数据库?characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: 你的用户
    password: 你的密码
    hikari:
      connection-test-query: select 1
      minimum-idle: 5
      auto-commit: true
      validation-timeout: 3000
      pool-name: DolphinScheduler
      maximum-pool-size: 50
      connection-timeout: 30000
      idle-timeout: 600000
      leak-detection-threshold: 0
      initialization-fail-timeout: 1

  • 修改日志输出到控制台,在 dolphinscheduler-server 模块的 resources 下面,修改 logback-master.xml 文件。
<root level="INFO">
  <appender-ref ref="STDOUT"/>
  <appender-ref ref="APILOGFILE"/>
</root>

图示:

file

  • 启动 Worker
    配置VM Options:–Dlogging.config=classpath:logback-worker.xml-Dspring.profiles.active=mysql,worker

把红色部分复制到👇下面:

file

file

启动前端

注意2.x 版本使用 node v12.20.2 , 3.x 版本使用 node v16.13+

1、VM来管理Node版本。访问:https://nvm.uihtm.com/

file

2、依据网站的教程,安装完 nvm 之后,使用下面的命令继续安装 Node

nvm install 12.20.2

3、确认.env配置的API_BASE的端口与 API 服务的端口一致。

file

4、启动前端

cd dolphinscheduler-ui
nvm use v12.20.2
npm install
npm run dev

5、等待启动完毕,可以访问 localhost:8888
默认账户密码 admin/dolphinscheduler123 即可完成登录

通过遵循本文提供的步骤,您可以快速搭建一个功能齐全的Apache DolphinScheduler本地开发环境。

这不仅可以帮助您更好地理解DolphinScheduler的工作机制,还可以提高您解决问题和开发新功能的效率。记得,一个良好的开始是成功的一半。现在,您已经准备好在本地环境中进行探索和创新了!

本文由 白鲸开源 提供发布支持!

posted @ 2024-05-27 11:43  海豚调度  阅读(41)  评论(0编辑  收藏  举报