参考:
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 |
将 FE-Master 节点的 doris-meta
目录进行完整备份!
cd /opt/doris
cp -r doris-meta doris-meta.backup
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");
当集群升级完毕后,在通过以上命令将对应配置设为原值即可。
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 节点升级
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_ ... 提供的参数数目不足
重启后正常