Doris 2.0.1 DockerFile版 升级实战

1、Doris 2.0.1  DockerFile 的制作 参考 Doris 2.0.1 Dockerfile制作-CSDN博客

2、之前的Doris 集群通过 Docker容器进行的部署,需提前准备好Doris2.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

服务器角色容器内安装目录元数据目录日志目录
bigData04FE/opt/doris/doris-fe/data/fe/doris-meta

/data/fe/log

bigData03BE/opt/doris/doris-be/data/be/storage/data/be/log
bigData08BE/opt/doris/doris-be/data/be/storage/data/be/log

升级流程概览

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

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

cd /data/fe/

cp -r doris-meta doris-meta.backup

备份be节点的元数据

 cd /data/be/

sudo 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 节点

docker ps

load镜像:

docker load -i apache-doris-2.0.1.1-be.tar

1、复制原be的conf下的be.conf配置文件到本地目录

容器到本地:

docker cp be:/opt/apache-doris/be/conf/be.conf .

mv be.conf be.conf.bak

2、停止原BE

登录容器 docker exec -it be bash

停止BE

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

show proc '/backends'\G;  

发现alive 已改为false

docker ps -a

3、启动新BE

docker run -itd --restart=always --name=be2 --env FE_SERVERS="fe1:192.168.1.244:9010" --env BE_ADDR="192.168.1.248:9050" -p 8040:8040 -v /data/be/storage:/opt/apache-doris/be/storage -v /data/be/log:/opt/apache-doris/be/log --net=host apache-doris:2.0.1.1-be

4、复制be2 的 be.conf文件到本地

本地到容器:

docker cp be2:/opt/apache-doris/be/conf/be.conf .

修改 be.conf

主要修改  priority_networks = 192.168.1.0/24

将 be.conf 上传到be2

docker cp be.conf be2:/opt/apache-doris/be/conf/be.conf

3、重启新BE2

登录容器 docker exec -it be2 bash

停止BE2

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

启动BE2

/opt/apache-doris/be/bin/start_be.sh --daemon

查看:

SHOW PROC '/backends'\G;

发现启动后backend有自动停止的情况,copy be中的 java-udf-jar-with-dependencies.jar 到be2中

docker cp java-udf-jar-with-dependencies.jar be2:/opt/apache-doris/be/lib/java-udf-jar-with-dependencies.jar

依次完成其他 BE 节点升级

升级 FE

load镜像:

docker load -i apache-doris-2.0.1.1-fe.tar

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

docker cp fe:/opt/apache-doris/fe/conf/fe.conf .

mv fe.conf fe.conf.bak

登录fe

docker exec -it fe bash

停止FE

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

退出容器

exit

停止fe并删除

docker stop fe

docker rm fe

启动FE2

docker run -itd --restart=always --name=fe2 --env FE_SERVERS="fe1:192.168.1.244:9010" --env FE_ID=1 -p 8030:8030 -p 9030:9030 -v /data/fe/doris-meta:/opt/apache-doris/fe/doris-meta -v /data/fe/log:/opt/apache-doris/fe/log --net=host apache-doris:2.0.1.1-fe
 

docker exec -it fe2 bash

先停止

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

再启动

/opt/apache-doris/fe/bin/start_fe.sh --daemon

SHOW PROC '/frontends'\G;

show proc '/backends'\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_ ...  提供的参数数目不足
     重启后正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值