前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码。

海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码。

原创
作者头像
大数据学习指南
修改2023-06-30 18:12:38
8590
修改2023-06-30 18:12:38
举报

海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码

? 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。

祝开卷有益。

大数据学习指南

DolphinScheduler 的开源版本有不少的 BUG,所以在公司生产使用的话,需要做二次迭代优化,二开的过程,本地调试是不可以或缺的。今天记录一下本地开发环境搭建的过程,适用于 2.x 和 3.x 版本,这两个大版本区别不大,下面会进行说明。

依赖项

  • Mysql
  • ZooKeeper

说明

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

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

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

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

安装 ZooKeeper

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

① 下载之后,解压到一个目录 ,在这个目录下新建 zkData、zkLog 文件夹。

② 将 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 版本中,master和worker在一个模块里面,在上一步的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

把红色部分复制到?下面。

启动前端

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

① 可以使用 nvm 来管理node版本。访问:https://nvm.uihtm.com/

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

nvm install 12.20.2

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

④ 启动前端。

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

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

默认账户密码 admin/dolphinsch

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码
    • 依赖项
      • 说明
      • 安装 ZooKeeper
      • Mysql
    • 配置注册中心
      • 启动后端
        • 说明
        • 启动 API 服务
        • 启动 Master 服务
        • 启动 Worker 服务
      • 启动前端
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com