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

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

依赖项

  • 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/

① 下载之后,解压到一个目录 ,在这个目录下新建 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用户:

Windows 用户:

其他的,安装一直点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,修改下图中位置的连接信息即可。

启动后端

说明

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

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

启动 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

图示:

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

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

图示:

③ 启动 API 服务 默认端口是:7080

配置 \_VM Options : \_-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=mysql,api 把红色部分复制到下面。

图示:

启动 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>

图示:

  • 启动 Master

配置 VM Options:–Dlogging.config=classpath:logback-master.xml-Dspring.profiles.active=mysql,master

把红色部分复制到下面:

启动 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>

图示:

  • 启动 Worker

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

把红色部分复制到下面:

启动前端

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

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

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

nvm install 12.20.2

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

4、启动前端

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

5、等待启动完毕,可以访问 localhost:8888

默认账户密码 admin/dolphinscheduler123 即可完成登录

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

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

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

Apache DolphinScheduler(2.x和3.x版本) 本地环境搭建教程一览的更多相关文章

  1. 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)

    cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...

  2. 【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建

    缘由 经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考 Nginx Yii2 server  ...

  3. Cocos2d-X-3.0 之后的版本的环境搭建

     Cocos2d-X-3.0 之后的版本的环境搭建 由于cocos2d游戏开发引擎更新十分频繁,官方文档同步不够及时和完善.所以不要照着官方文档来照做生成工程. <点击图片就能进入网站> ...

  4. 【TensorFlow】Tensorflow-GPU 环境搭建教程(附 Windows 版本对应表及 CUDA GPU 计算能力表)

    conda教程(推荐):『Tensorflow GPU Installation Made Easy: Use conda instead of pip [Update-2] | by Harveen ...

  5. LAMP(Ubuntu+apache+mysql+php)+Zend Studio 新手の PHP的开发环境搭建

    因为工作需要,就从c#转型过来研究PHP.可是没想到从一开始就遇上了问题,环境配置方面的问题足足令我头疼了两天.因为博主本人对于linux的接触非常少,所以在解决这个问题的时候也学到了不少东西, 非常 ...

  6. PHP + Apache 在 Linux(centos7)系统下的环境搭建,基于 yum

    (本文采用的是 Centos7 的操作系统,简单起见,以下全部采用 yum 安装,有这么好用的东西为什么要自己去一个一个编译呢) 1, 安装 Apache  => yum -y install ...

  7. Hadoop3.2.1版本的环境搭建

    最近有人提出能不能发一些大数据相关的知识,No problem ! 今天先从安装环境说起,搭建起自己的学习环境. Hadoop的三种搭建方式以及使用环境: 单机版适合开发调试: 伪分布式适合模拟集群学 ...

  8. go 版本 gRPC 环境搭建(3.0正式版)

    之前装过 gRPC 的各个测试版本,有些残余的文件,正式版的安装和之前残留的清除整理如下:   安装 go 版本的 gRPC go 的安装略过.需要 go 1.5 以上版本. $ go version ...

  9. Cocos2d-X-3.0之后的版本的环境搭建

    由于cocos2d游戏开发引擎更新十分频繁,官方文档同步不够及时和完善.所以不要照着官方文档来照做生成工程. <点击图片就能进入网站> 具体的步骤: 1.获取cocos2d-X的源码v3. ...

  10. 日均 6000+ 实例,TB 级数据流量,Apache DolphinScheduler 如何做联通医疗大数据平台的“顶梁柱”?

    作者 | 胡泽康 鄞乐炜 作者简介 胡泽康 联通(广东)产业互联网公司  大数据工程师,专注于开源大数据领域,从事大数据平台研发工作 鄞乐炜 联通(广东)产业互联网公司 大数据工程师,主要从事大数据平 ...

随机推荐

  1. python logger 打印日志错误行数

    python logger 打印日志错误行数 import logging app = Flask(__name__) # 配置日志 handler = logging.FileHandler('ap ...

  2. 【踩坑】.NET 8.0 自定义IExceptionHandler不生效

    中间件实现异常处理 在ASP.NET Core里,我们可以使用中间件(Middleware)实现全局的异常处理. 如内置的异常处理中间件 UseExceptionHandler app.UseExce ...

  3. K-means聚类是一种非常流行的聚类算法

    K-means聚类是一种非常流行的聚类算法,它的目标是将n个样本划分到k个簇中,使得每个样本属于与其最近的均值(即簇中心)对应的簇,从而使得簇内的方差最小化.K-means聚类算法简单.易于实现,并且 ...

  4. VSCode因网络问题导致下载更新/扩展出错

    VSCode因网络问题导致下载更新/扩展出错 可尝试方法:   问题0: VSCode出现网络问题排查方法?       法1: 启动时加上选项 --log-net-log=netlog.json   ...

  5. Android 7 修改启动动画和开机声音

    背景 在修改开机音量的时候,发现找不到对应的声音功能调用. 因此了解了一下安卓的开机声音是如何实现的. 安卓4~安卓7 都可以这么做. 参考: https://blog.csdn.net/chen82 ...

  6. 安卓Camera-HAL显示值与比例

    安卓Camera-HAL显示值与比例 参考:https://blog.csdn.net/wang714818/article/details/78049649?utm_source=blogxgwz4 ...

  7. Android Verified Boot介绍与有关使用

    Android Verified Boot介绍与有关使用 背景 在搞安卓驱动调试的时候,由于不熟悉,导致系统没有按照我预期启动完毕:因此需要注意这一块的东西. 简介 Verified Boot 是 A ...

  8. C#多态性学习,虚方法、抽象方法、接口等用法举例

    1. 多态性定义   C#中的多态性是OOP(面向对象编程)的一个基本概念,它允许一个对象在不同情况下表现出不同的行为,以增强代码的可重用性和灵活性.   根据网上的教程,我们得知C#多态性分为两类, ...

  9. PHP函数http_build_query使用详解

    什么是http_build_query? 使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串.参数 formdata 可以是数组或包含属性的对象.一个 formdata 数组 ...

  10. [rCore学习笔记 03]配置rCore开发环境

    写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 rCo ...