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

这篇具有很好参考价值的文章主要介绍了海豚调度 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/
截屏2023-06-29 10.05.59.png
① 下载之后,解压到一个目录 ,在这个目录下新建 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用户:
截屏2023-06-29 10.12.54.png
Windows 用户:
截屏2023-06-29 10.16.22.png
其他的,一路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,修改下图中位置的连接信息即可。
截屏2023-06-29 14.41.07.png

启动后端

说明

这里呢,2.x 版本和 3.x 版本会有点不一样。如图:
截屏2023-06-29 10.35.40.png截屏2023-06-29 10.34.22.png
修改的时候,注意找到对应的位置。

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

图示:
截屏2023-06-29 10.44.22.png
② 修改日志输出到控制台,在 dolphinscheduler-api 模块的 resources 下面,修改 logback-api.xml 文件。

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

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

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

图示:
截屏2023-06-29 10.58.12.png
③ 启动 Master
配置 VM Options:–Dlogging.config=classpath:logback-master.xml-Dspring.profiles.active=mysql,master
把红色部分复制到👇下面。
截屏2023-06-29 14.51.33.png
截屏2023-06-29 14.53.33.png

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

图示:
截屏2023-06-29 10.58.12.png
③ 启动 Worker
配置 VM Options:–Dlogging.config=classpath:logback-worker.xml-Dspring.profiles.active=mysql,worker
把红色部分复制到👇下面。
截屏2023-06-29 14.59.32.png截屏2023-06-29 15.03.23.png

启动前端

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

① 可以使用 nvm 来管理node版本。访问:https://nvm.uihtm.com/
截屏2023-06-29 15.06.40.png
② 依据网站的教程,安装完 nvm 之后,使用下面的命令继续安装 node

nvm install 12.20.2

③ 确认 .env 配置的API_BASE的端口与 API 服务的端口一致。。截屏2023-06-29 15.11.21.png
④ 启动前端。

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

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

海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码文章来源地址https://www.toymoban.com/news/detail-515175.html

到了这里,关于海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源分布式任务调度系统DolphinScheduler本地部署与远程访问

    本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内网穿透工具实现公网访问DolphinScheduler内网并进行远程办公,帮助开发人员进行远程任务调度及管理,提高工作效率。 DolphinScheduler是一款开源的分布式任务调度系统,它可以帮助开发人员更加方

    2024年02月03日
    浏览(18)
  • Apache DolphinScheduler 官方发布3.2.0版本!大数据调度【重磅更新】

    今天,Apache DolphinScheduler 3.2.0 版本在万众期待中终于发布了!在之前的预告中,包括《重磅预告!Apache DolphinScheduler 3.2.0 新功能“剧透”》、《3.2.0 版本预告!Apache DolphinScheduler API 增强相关功能》、《3.2.0 版本预告!远程日志解决 Worker 故障获取不到日志的问题》,以及《

    2024年01月17日
    浏览(17)
  • DolphinScheduler 3.1.0 海豚集群部署配置

    海豚框架官方文档 三台服务器都要安装 创建海豚用户并且给予sudo权限 免密配置:服务器各台节点之间要互相免密 生成当前用户的秘钥文件:ssh-keygen -t rsa 然后将生成的公钥文件内容写到目标机.ssh/authorized_keys文件中,OK 海豚所在每台节点之间都要互相免密 普通用户建立免

    2023年04月08日
    浏览(16)
  • DolphinScheduler 3.1.0 海豚集群运维使用问题记录

    海豚框架官方文档 常用命令: 命令 含义 bin/start-all.sh 集群群起 bin/stop-all.sh 集群群停 bin/status-all.sh 查看状态 dolphinscheduler-daemon.sh start/stop master-server 单独启动或者停止master-server dolphinscheduler-daemon.sh start/stop worker-server 单独启动或者停止worker-server dolphinscheduler-daemon.sh start/st

    2024年02月02日
    浏览(8)
  • 大数据|海豚调度官方文档注解(3)

    官方文档地址:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.8 因为官方文档经常出现文档桑、图片加载缓慢、中文名对应关系较差,且存在部分链接异常的情况,所以我将其重新整理、排版以方便阅读。 同时做了部分优化,增加了一些注解,补充了中英文对应关系。 DolphinSchedul

    2024年02月04日
    浏览(15)
  • 海豚调度系列之:任务类型——SPARK节点

    Spark 任务类型用于执行 Spark 应用。对于 Spark 节点,worker 支持两个不同类型的 spark 命令提交任务: (1) spark submit 方式提交任务。 (2) spark sql 方式提交任务。 点击项目管理 - 项目名称 - 工作流定义,点击”创建工作流”按钮,进入 DAG 编辑页面: 拖动工具栏的 任务节点到画板

    2024年03月19日
    浏览(22)
  • 海豚调度任务类型Apache SeaTunnel部署指南

    Apache DolphinScheduler已支持Apache SeaTunnel任务类型,本文介绍了SeaTunnel任务类型如何创建,任务参数,以及任务样例。 SeaTunnel 任务类型,用于创建并执行 SeaTunnel 类型任务。worker 执行该任务的时候,会通过 start-seatunnel-spark.sh 、 start-seatunnel-flink.sh 和 seatunnel.sh 命令解析 config 文件

    2024年04月08日
    浏览(19)
  • 用海豚调度器定时调度从Kafka到HDFS的kettle任务脚本

    在实际项目中,从Kafka到HDFS的数据是每天自动生成一个文件,按日期区分。而且Kafka在不断生产数据,因此看看kettle是不是需要时刻运行?能不能按照每日自动生成数据文件? 为了测试实际项目中的海豚定时调度从Kafka到HDFS的Kettle任务情况,特地提前跑一下海豚定时调度这个

    2024年04月15日
    浏览(11)
  • 20221225 海豚调度2.0.5 星环驱动包踩坑(一)

    阳阳的一周,算是挺过来了,现在只剩感冒了,迷迷糊糊的干了一周,混口饭吃不容易呀!简单记录一下遇到的问题吧! 方案一 : 海豚调度2.0.5使用的hive包是2.0版本,星环库包装的是hive 1.0版本,因此连接不上,将hive包降为1.0( hive.jdbc.version1.1.0/hive.jdbc.version ),同时修改

    2024年02月09日
    浏览(14)
  • 告别手动调度,海豚调度器 3.1.x 集群部署让你轻松管理多机!

    转载自第一片心意 由于海豚调度器官网的集群部署文档写的较乱,安装过程中需要跳转到很多地方进行操作,所以自己总结了一篇可以直接跟着从头到尾进行操作的文档,以方便后续的部署、升级、新增节点、减少节点的相关操作。 JDK:下载JDK (1.8+),安装并配置 JAVA_HOME 环

    2024年04月24日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包