Doris 2.0.1 升级实战

参考:

集群升级 - Apache Doris

Doris 升级请遵守不要跨两个及以上关键节点版本升级的原则,若要跨多个关键节点版本升级,先升级到最近的关键节点版本,随后再依次往后升级,若是非关键节点版本,则可忽略跳过。

1.2.0 - 1.2.5 任意版本 -> 2.0.0-beta

当前集群Doris  apache-doris-dependencies-1.2.4.1-bin-x86_64

升级目标Doris 2.0.1

服务器 角色 安装目录 元数据目录
bigData06 FE /opt/doris/doris-fe /opt/doris/doris-meta
bigData06 BE /opt/doris/doris-be /opt/doris/storage
bigData07 BE /opt/doris/doris-be /opt/doris/storage

升级流程概览

  1. 元数据备份
  2. 关闭集群副本修复和均衡功能
  3. 兼容性测试
  4. 升级 BE
  5. 升级 FE
  6. 打开集群副本修复和均衡功能
元数据备份(重要)

将 FE-Master 节点的 doris-meta 目录进行完整备份!

cd  /opt/doris

cp -r doris-meta doris-meta.backup

备份be节点的元数据

cd /opt/doris

cp -r storage storage.backup

关闭集群副本修复和均衡功能

升级过程中会有节点重启,所以可能会触发不必要的集群均衡和副本修复逻辑,先通过以下命令关闭:

# 关闭副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
$ mysql-client > admin set frontend config("disable_balance" = "true");

# 关闭 colocation 表的副本均衡逻辑。关闭后,不会再触发 colocation 表的副本重分布操作。
$ mysql-client > admin set frontend config("disable_colocate_balance" = "true");

# 关闭副本调度逻辑。关闭后,所有已产生的副本修复和均衡任务不会再被调度。
$ mysql-client > admin set frontend config("disable_tablet_scheduler" = "true");

当集群升级完毕后,在通过以上命令将对应配置设为原值即可。

升级

BE 节点

cd /opt/doris

tar -zxvf apache-doris-2.0.1-bin-x64.tar.gz 

cp -r apache-doris-2.0.1-bin-x64/be doris-be2

因为从 1.2 版本开始支持 Java UDF 函数,需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下,否则可能会启动失败。 从原有的be的lib目录下copy即可。

cp doris-be/lib/java-udf-jar-with-dependencies.jar doris-be2/lib/
复制原be的conf下的be.conf配置文件到 be2中

cp doris-be/conf/be.conf doris-be2/conf/

停止BE

/opt/doris/doris-be/bin/stop_be.sh

启动BE2

/opt/doris/doris-be2/bin/start_be.sh --daemon

查看:

SHOW PROC '/backends'\G;

依次完成其他 BE 节点升级

升级 FE

复制解压后的新fe文件夹至原fe安装路径下并更名为fe2

cp -r apache-doris-2.0.1-bin-x64/fe doris-fe2

复制原fe的conf下的fe.conf配置文件到 fe2中

cp doris-fe/conf/fe.conf doris-fe2/conf/

停止FE

/opt/doris/doris-fe/bin/stop_fe.sh

启动FE2

/opt/doris/doris-fe2/bin/start_fe.sh --daemon

SHOW PROC '/frontends'\G;

打开集群副本修复和均衡功能

升级完成,并且所有 BE 节点状态变为 Alive 后,打开集群副本修复和均衡功能:

admin set frontend config("disable_balance" = "false");
admin set frontend config("disable_colocate_balance" = "false");
admin set frontend config("disable_tablet_scheduler" = "false");

验证:

curl http://127.0.0.1:8030/api/bootstrap

http://ip:8030/  使用数据库账号和密码登录

异常问题:

1、[ERROR] 2023-09-14 15:13:50.078 +0800 - execute sql error: errCode = 2, detailMessage = errCode = 2, detailMessage = Not support set 'in_memory'='true' now!

       ALTER TABLE dorisonline.ods_contractlist_snapshot set ("in_memory" = "false");

2、flink cdc任务有异常 重启后正常

     cdc.fn_cdc_get_all_changes_ ...  提供的参数数目不足
     重启后正常

猜你喜欢

转载自blog.csdn.net/wangqiaowq/article/details/132874435