- 参考https://doris.apache.org/zh-CN/docs/dev/admin-manual/cluster-management/upgrade?_highlight=%E5%8D%87%E7%BA%A7
- 注意点:
- 升级前一定要备份fe的meta目录。
- 原来的conf文件要备份,并且覆盖新的。
- doris大版本升级最好等到大版本之后一个小版本出来再升级。一般这个是针对大版本的bug进行修复的。
- 升级步骤
- 安装新版本的包
- scp -r ${IP}:${DIR}/apache-doris-be-1.2.1-bin-x86_64.tar.xz ${DIR}/
scp -r ${IP}:${DIR}/apache-doris-fe-1.2.1-bin-x86_64.tar.xz ${DIR}/
#要记得这个
scp -r ${IP}:${DIR}/apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz ${DIR}/
tar -vxf ${DIR}/apache-doris-be-1.2.1-bin-x86_64.tar.xz -C ${DIR}/
tar -vxf ${DIR}/apache-doris-fe-1.2.1-bin-x86_64.tar.xz -C ${DIR}/
tar -vxf ${DIR}/apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz -C ${DIR}/
cp ${DIR}/apache-doris-dependencies-1.2.1-bin-x86_64/java-udf-jar-with-dependencies.jar ${DIR}/apache-doris-be-1.2.1-bin-x86_64/lib/
- 替换原有配置文件到新配置文件
- cp ${DIR}/doris/be/conf/be.conf ${DIR}/apache-doris-be-1.2.1-bin-x86_64/conf/be.conf
cp ${DIR}/doris/fe/conf/fe.conf ${DIR}/apache-doris-fe-1.2.1-bin-x86_64/conf/fe.conf
sh ${DIR}/doris/be/bin/stop_be.sh
#sh ${DIR}/doris/fe/bin/stop_fe.sh
rm -rf ${DIR}/doris/be.bak
cp -r ${DIR}/doris/be ${DIR}/doris/be.bak
cp -af ${DIR}/apache-doris-be-1.2.1-bin-x86_64/* ${DIR}/doris/be/
#rm -rf ${DIR}/doris/fe.bak
#cp -r ${DIR}/doris/fe ${DIR}/doris/fe.bak
#cp -af ${DIR}/apache-doris-fe-1.2.1-bin-x86_64/* ${DIR}/doris/fe/
- be添加
vim ${DIR}/doris/be/conf/be.conf
max_tablet_version_num=2000
max_runnings_transactions_per_txn_map=1000
max_running_txn_num_per_db=1000
- sudo sysctl -w vm.max_map_count=2000000
- 关闭集群副本修复和均衡功能
- # 关闭副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
$ 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");
- 关闭原来的fe,启动新的fe(集群所有be都处理完之后再做)
- sh ${DIR}/doris/fe/bin/stop_fe.sh
sh ${DIR}/doris/fe/bin/start_fe.sh --daemon
tail -f ${DIR}/doris/fe/log/fe.log - 恢复集群副本修复和均衡功能
- # 恢复副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
$ mysql-client > admin set frontend config("disable_balance" = "false");
# 恢复 colocation 表的副本均衡逻辑。关闭后,不会再触发 colocation 表的副本重分布操作。
$ mysql-client > admin set frontend config("disable_colocate_balance" = "false");
# 恢复副本调度逻辑。关闭后,所有已产生的副本修复和均衡任务不会再被调度。
$ mysql-client > admin set frontend config("disable_tablet_scheduler" = "false");