Apache DolphinScheduler 3.0.0 升级到 3.1.8 教程

安装部署的流程可参考官网的文档

Version 3.1.8/部署指南/伪集群部署(Pseudo-Cluster) https://dolphinscheduler.apache.org/zh-cn/docs/3.1.8/guide/installation/pseudo-cluster

本文开始之前,我先补充说明一下升级 Apache DolphinScheduler 的几个关键点

元数据备份

做好已有元数据做备份 (以 MySQL 为例,元数据存储在 Mysql 的 dolphinscheduler 数据库里)

伪代码

复制代码
mysqldump -u root -p dolphinscheduler > dolphinscheduler_backup_XXX.sql

apache-dolphinscheduler-3.1.8-bin/bin/env/install_env.sh

apache-dolphinscheduler-3.1.8-bin/bin/env/dolphinscheduler_env.sh

这两个文件的配置项,可以从旧版本的相应文件里直接复制粘贴

需要将使用到的数据库(比如 MySQL)的 connector (本人亲测 mysql-connector-java-8.0.30.jar 适用,其他 connector 版本未测试)放到相应的 libs 库里

api-server/libs

alert-server/libs

master-server/libs

worker-server/libs

tools/libs

伪代码如下

复制代码
cp XXX/mysql-connector-java-8.0.30.jar XXX/apache-dolphinscheduler-3.1.8-bin/api-server/libs/
cp XXX/mysql-connector-java-8.0.30.jar XXX/apache-dolphinscheduler-3.1.8-bin/alert-server/libs
cp XXX/mysql-connector-java-8.0.30.jar XXX/apache-dolphinscheduler-3.1.8-bin/master-server/libs
cp XXX/mysql-connector-java-8.0.30.jar XXX/apache-dolphinscheduler-3.1.8-bin/worker-server/libs
cp XXX/mysql-connector-java-8.0.30.jar XXX/apache-dolphinscheduler-3.1.8-bin/tools/libs

common.properties 文件,需要修改相应的参数

alert-server/conf/common.properties
api-server/conf/common.properties
master-server/conf/common.properties
worker-server/conf/common.properties

本人升级时,只修改了

api-server/conf/common.properties

worker-server/conf/common.properties

这两个文件的三个参数

(

resource.storage.type

resource.storage.upload.base.path

resource.hdfs.fs.defaultFS

)

需要注意的是,3.1.8 此文件的有些参数名和 3.0.0 此文件中的参数名有变化。

3.0.0 参数 resource.upload.path

对应

3.1.8 参数 resource.storage.upload.base.path

3.0.0 参数 fs.defaultFS

对应

3.1.8 参数 resource.hdfs.fs.defaultFS

CDH集群升级

如果是 CDH 集群(比如 CDH 6.2.1)升级使用 Apache DolphinScheduler 3.1.8

还需要替换相应的 Zookeeper jar 包, 否则会有 Zookeeper Failed to delete registry key 报错提示

参考文章

Dolphin3.0在伪集群模式下总是会报zookeeper Failed to delete registry key,我该怎么排查这个问题: https://github.com/apache/dolphinscheduler/discussions/11948

看看是不是 Zookeeper 的版本不兼容,DolphinScheduler3.1.8 版本的 zookeeper 和 curator 是下面这个:

curator-client-5.3.0.jar

curator-recipes-5.3.0.jar

curator-framework-5.3.0.jar

zookeeper-3.8.0.jar

将/api-server/libs,master-server/libs,worker-server/libs,/tools/libs 下的 zookeeper,curator 的版本替换成 Zookeeper 服务版本一致才行。

注意:zookeeper-3.4.x 对应的 curator-*版本必须是 4.2.0

CDH6.2.1 使用的是

ZooKeeper

3.4.5+cdh6.2.1

即 Zookeeper-3.4.5 版本,需要下载相应的 jar 包 zookeeper-3.4.5.jar,可从如下网站上搜索下载 jar 包:https://nowjava.com/jar/

此外还需要下载下面三个 jar 包

  • curator-client-4.2.0.jar
  • curator-recipes-4.2.0.jar
  • curator-framework-4.2.0.jar

即:

  • zookeeper-3.4.5.jar
  • curator-client-4.2.0.jar
  • curator-recipes-4.2.0.jar
  • curator-framework-4.2.0.jar

将这 4 个 jar 包放到如下

  • api-server/libs
  • master-server/libs
  • worker-server/libs
  • tools/libs

这四个目录,并替换原先的版本 jar 包,伪代码如下

复制代码
####################### 
cd XXX/apache-dolphinscheduler-3.1.8-bin/api-server/libs/ 

rm -f zookeeper-3.8.0.jar
cp XXXX/zookeeper-3.4.5.jar . 

rm -f curator-*
cp XXXX/curator-*4.2* . 

####################### 

cd XXX/apache-dolphinscheduler-3.1.8-bin/master-server/libs 

rm -f zookeeper-3.8.0.jar
cp XXXX/zookeeper-3.4.5.jar . 

rm -f curator-*
cp XXXX/curator-*4.2* . 

####################### 

cd XXX/apache-dolphinscheduler-3.1.8-bin/worker-server/libs 

rm -f zookeeper-3.8.0.jar
cp XXXX/zookeeper-3.4.5.jar . 

rm -f curator-*
cp XXXX/curator-*4.2* . 

####################### 

cd XXX/apache-dolphinscheduler-3.1.8-bin/tools/libs 

rm -f zookeeper-3.8.0.jar
cp XXXX/zookeeper-3.4.5.jar . 

rm -f curator-*
cp XXXX/curator-*4.2* . 

#######################

以上这五点都修改完后,停掉 Apache DolphinScheduler 3.0.0

伪代码

复制代码
su - dolphinschedulercd XXXX/apache-dolphinscheduler-3.0.0-bin# 一键停止集群所有服务bash ./bin/stop-all.sh

初始化 DolphinScheduler 3.1.8

复制代码
cd XXXX/apache-dolphinscheduler-3.1.8-bin 

sh ./tools/bin/upgrade-schema.sh


cd XXXX/apache-dolphinscheduler-3.1.8-bin 

sh ./bin/install.sh

到这里就升级完成了

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

相关推荐
什么嘻嘻果冻18 分钟前
零代码建站开户的适用场景,恐象 AI 能建哪些网站
大数据·人工智能
人工智能培训27 分钟前
具身智能环境交互与学习范式原理
大数据·linux·人工智能·学习·算法·机器学习
2601_956743681 小时前
上海GEO营销公司技术评估解析|以盾码无界公开产品路线为观察对象,梳理问题池构建、知识库事实锚定、内容审核与跨模型监测流程,明确现场演示和任务追溯的核验要求
大数据·人工智能·产品运营·技术分享·geo·上海
武汉星际互动1 小时前
技术拐点已至:AI Agent给政务大厅带来什么变革?
大数据·人工智能·政务
程序员大阳1 小时前
副队长大数据教程(7)--Hadoop 集群角色配置逻辑详解
大数据·hadoop·分布式·集群·配置·角色·逻辑
RD_daoyi1 小时前
外贸独立站从0到1:平台选择 + 建站流程 + 新手避坑
大数据·服务器·网络·人工智能·搜索引擎·职场和发展
2603_954708312 小时前
微能网协调控制箱突破传统微电网架构瓶颈
大数据·数据库·人工智能·架构·能源
智圣新创012 小时前
教育数字化合规背景下 智圣新创高校一表通建设全国低内耗落地指引
大数据·人工智能
猴子15516812 小时前
长期追踪调研的样本留存是怎么实现的:跨波次对齐、催答调度与质控机制,附五家样本服务实测记录
大数据·经验分享
samLi06202 小时前
贵州贵安新区行政区划面数据(含经纬度)
大数据