在迅速变化的技术领域,本地环境的搭建和调试对于软件开发的效率和效果至关重要。本文将详细介绍如何为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. 正式开启全站HTTPS加密之旅

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 正式开启全站HTTPS加密之旅 日期:2017-7-14 ...

  2. FFmpeg frei0r插件使用学习

    背景 ffmpeg做基本的音视频编辑还是比较简单的,但要做一些滤镜及特效就比较麻烦了.接下来看看借用frei0r插件怎么做: 简介 你可以将frei0r看作是一个"视频特效工具箱" ...

  3. zabbix数据库

    1. 安装MySQL 5.6 操作系统为CentOS7 X64 MySQL文件下载地址 http://dev.mysql.com/downloads/repo/yum/ 卸载已存在文件 rpm -qa ...

  4. CLR via C# 笔记 -- 计算限制的异步操作(27)

    1. 线程池基础. 创建和销毁线程是一个昂贵的操作,要耗费大量时间.太多的线程会浪费内存资源.由于操作系统必须调度可运行的线程并执行上下文切换,所以大多的线程还对性能不利.为了改善这个情况,CLR包含 ...

  5. IPTABLES管理

    iptables 是 Linux 管理员用来设置 IPv4 数据包过滤条件和 NAT 的命令行工具.iptables 工具运行在用户态,主要是设置各种规则.而 netfilter 则运行在内核态,执行 ...

  6. Freertos学习:03-任务

    --- title: rtos-freertos-03-任务 EntryName: rtos-freertos-03-task date: 2020-06-20 09:15:07 categories ...

  7. QT学习:06 常用的全局变量与宏定义

    --- title: framework-cpp-qt-06-常用的全局变量与宏定义 EntryName: framework-cpp-qt-06-global date: 2020-04-10 11 ...

  8. 韦东山freeRTOS系列教程之【第三章】任务管理

    目录 系列教程总目录 概述 3.1 基本概念 3.2 任务创建与删除 3.2.1 什么是任务 3.2.2 创建任务 3.2.3 示例1: 创建任务 3.2.4 示例2: 使用任务参数 3.2.5 任务 ...

  9. 傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)

    傻瓜式Java操作MySQL数据库备份(使用mysqldump命令) 注释都是由chatGPT生成,有什么问题可以评论交流 @Value("${backup.sql.database}&qu ...

  10. JavaSe 统计字符串中字符出现的次数

    public static void main(String[] args) { // 1.字符串 String str = "*Constructs a new <tt>Has ...