安装部署可参考官网
Version 3.1.8/部署指南/伪集群部署(Pseudo-Cluster)https://dolphinscheduler.apache.org/zh-cn/docs/3.1.8/guide/installation/pseudo-cluster
也可以参考我写贴子
DolphinScheduler 3.0安装及使用-CSDN博客DolphinScheduler 3.0版本的安装教程https://blog.csdn.net/qq0719/article/details/126506093?spm=1001.2014.3001.5502
在这里我补充说明升级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 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包
Jar查找,Jar下载,class文件,Maven仓库查询,Gradle引入代码 -时代Java为了开发者提供便利查询服务:包括查找Jar,Jar下载,查找class文件,查询Maven仓库及引入代码,查询Gradle引入代码等与Java开发相关的功能服务。https://nowjava.com/jar/
此外还需要下载
curator-client-4.2.0.jar
curator-recipes-4.2.0.jar
curator-framework-4.2.0.jar
这三个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/libsrm -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/libsrm -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/libsrm -f zookeeper-3.8.0.jar
cp XXXX/zookeeper-3.4.5.jar .rm -f curator-*
cp XXXX/curator-*4.2* .#######################
============================================
以上这五点都修改完后,
停掉DolphinScheduler 3.0.0
伪代码
su - dolphinscheduler
cd XXXX/apache-dolphinscheduler-3.0.0-bin
# 一键停止集群所有服务
bash ./bin/stop-all.sh
初始化DolphinScheduler 3.1.8
cd XXXX/apache-dolphinscheduler-3.1.8-binsh ./tools/bin/upgrade-schema.sh
cd XXXX/apache-dolphinscheduler-3.1.8-binsh ./bin/install.sh
‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★* 升级完成。‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★*