StarRocks-3.1.6升级
1、升级路径
1.1、小版本升级
您可以跨小版本升级您的 StarRocks 集群,例如,从 v2.2.6 直接升级到 v2.2.11。
1.2、大版本升级
从 StarRocks v2.0 开始,您可以跨大版本升级 StarRocks 集群,例如,从 v2.2.x 直接升级到 v2.5.x。但出于兼容性和安全原因,我们强烈建议您将 StarRocks 集群按大版本逐级升级。例如,要将 StarRocks v2.2 集群升级到 v2.5,需要按照以下顺序升级:v2.2.x --> v2.3.x --> v2.4.x --> v2.5.x。
1.3、重大版本升级
您必须从 v1.19 升级到 v2.0。
您必须从 v2.5 升级到 v3.0。
2、升级流程
StarRocks 支持滚动升级,允许您在不停止服务的情况下升级您的集群。按照设计,BE 和 CN 向后兼容 FE。因此,您需要先升级 BE 和 CN,然后升级 FE,以便让您的集群在升级的同时也能正常运行。 错误的升级顺序可能会导致 FE 与 BE/CN 不兼容,进而导致服务崩溃。对于 FE 节点,您必须先升级所有 Follower FE 节点,最后升级 Leader FE 节点。
3、兼容性配置
如需进行大版本或重大版本升级,则必须进行兼容性配置。除了通用的兼容性配置外,还需根据升级前版本进行具体配置。
- 通用兼容性配置
升级前,请关闭 Tablet Clone。
ADMIN SET FRONTEND CONFIG ("max_scheduling_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("max_balancing_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("disable_balance"="true");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="true");
完成升级,并且所有 BE 节点状态变为 Alive 后,您可以重新开启 Tablet Clone。
ADMIN SET FRONTEND CONFIG ("max_scheduling_tablets" = "2000");
ADMIN SET FRONTEND CONFIG ("max_balancing_tablets" = "100");
ADMIN SET FRONTEND CONFIG ("disable_balance"="false");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="false");
- 自 v2.0 升级
自 v2.0 版本升级至其他大版本时,您需要设置以下 BE 设置项以及系统变量。
如果您曾经修改过 BE 配置项 vector_chunk_size,升级前必须将其设置为4096。由于该配置项为静态参数,所以必须在 BE 配置文件 be.conf 中修改,并且在修改完成后重启节点使修改生效。
全局设置系统变量 batch_size 为小于等于 4096 的值。
SET GLOBAL batch_size = 4096;
4、准备工作
4.1、解压安装包
tar -zxf StarRocks-3.1.6.tar.gz
4.2、修改FE目录名称
mv bin bin.316
mv spark-dpp spark-dpp.316
mv llib ib.316
4.3、修改BE目录名称
mv bin bin.316
mv llib ib.316
4.4、修改broker目录名称
mv bin bin.316
mv llib ib.316
4.5、修改start_broker.sh
vi start_broker.sh
export JAVA_HOME=/usr/java/jdk-17
5、升级 BE
5.1、分发bin目录
ansible be -m copy -a 'src=/opt/soft/StarRocks-3.1.6/be/bin.316 dest=/opt/module/starrocks/be/ mode=0755'
5.2、分发lib目录
ansible be -m copy -a 'src=/opt/soft/StarRocks-3.1.6/be/lib.316 dest=/opt/module/starrocks/be/'
5.3、修改老版本目录名称
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/lib /opt/module/starrocks/apache_hdfs_broker/lib.315"
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/bin /opt/module/starrocks/apache_hdfs_broker/bin.315"
5.4、修改新版本目录名称
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/bin.316 /opt/module/starrocks/apache_hdfs_broker/bin"
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/lib.316 /opt/module/starrocks/apache_hdfs_broker/lib"
5.5、启动该 BE 节点
./bin/stop_be.sh
sh bin/start_be.sh --daemon
ansible be -m shell -a "sh /opt/module/starrocks/be/bin/start_be.sh --daemon"
5.6、查看节点是否启动成功
ps aux | grep starrocks_be
ansible be -m shell -a "ps aux | grep starrocks_be"
5.7、重复以上步骤升级其他 BE 节点
6、升级 Broker
6.1、分发bin目录
ansible be -m copy -a 'src=/opt/soft/StarRocks-3.1.6/apache_hdfs_broker/bin.316 dest=/opt/module/starrocks/apache_hdfs_broker/ mode=0755'
6.2、分发lib目录
ansible be -m copy -a 'src=/opt/soft/StarRocks-3.1.6/apache_hdfs_broker/lib.316 dest=/opt/module/starrocks/apache_hdfs_broker/'
6.3、修改老版本目录名称
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/lib /opt/module/starrocks/apache_hdfs_broker/lib.315"
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/bin /opt/module/starrocks/apache_hdfs_broker/bin.315"
6.4、修改新版本目录名称
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/bin.316 /opt/module/starrocks/apache_hdfs_broker/bin"
ansible be -m shell -a "mv /opt/module/starrocks/apache_hdfs_broker/lib.316 /opt/module/starrocks/apache_hdfs_broker/lib"
6.5、启动该 Broker节点
ansible be -m shell -a "sh /opt/module/starrocks/apache_hdfs_broker/bin/start_broker.sh --daemon"
6.6、查看节点是否启动成功
ps aux |grep BrokerBootstrap
ansible be -m shell -a "ps aux |grep BrokerBootstrap"
7、升级 CN
7.1、进入 CN 节点工作路径,并优雅停止该节点
# 将 <cn_dir> 替换为 CN 节点的部署目录。
cd <cn_dir>/be
./bin/stop_cn.sh --graceful
7.2、替换部署文件原有路径 bin 和 lib 为新版本的部署文件
mv lib lib.bak
mv bin bin.bak
cp -r /tmp/StarRocks-x.x.x/be/lib .
cp -r /tmp/StarRocks-x.x.x/be/bin .
7.3、启动该 CN 节点
sh bin/start_cn.sh --daemon
7.4、查看节点是否启动成功
ps aux | grep starrocks_be
7.5、重复以上步骤升级其他 CN 节点。
8、升级 FE
8.1、分发bin目录
ansible fe -m copy -a 'src=/opt/soft/StarRocks-3.1.6/fe/bin.316 dest=/opt/module/starrocks/fe/'
8.2、分发lib目录
ansible fe -m copy -a 'src=/opt/soft/StarRocks-3.1.6/fe/lib.316 dest=/opt/module/starrocks/fe/'
8.3、分发spark-dp目录
ansible fe -m copy -a 'src=/opt/soft/StarRocks-3.1.6/fe/spark-dpp.316 dest=/opt/module/starrocks/fe/'
8.4、修改老版本目录名称
ansible fe -m shell -a "mv /opt/module/starrocks/fe/lib /opt/module/starrocks/fe/lib.315"
ansible fe -m shell -a "mv /opt/module/starrocks/fe/bin /opt/module/starrocks/fe/bin.315"
ansible fe -m shell -a "mv /opt/module/starrocks/fe/spark-dpp /opt/module/starrocks/fe/spark-dpp.315"
8.5、修改新版本目录名称
ansible fe -m shell -a "mv /opt/module/starrocks/fe/lib.316 /opt/module/starrocks/fe/lib"
ansible fe -m shell -a "mv /opt/module/starrocks/fe/bin.316 /opt/module/starrocks/fe/bin"
ansible fe -m shell -a "mv /opt/module/starrocks/fe/spark-dpp.316 /opt/module/starrocks/fe/spark-dpp"
8.6、启动该 FE 节点
./bin/stop_fe.sh
sh bin/start_fe.sh --daemon
ansible fe -m shell -a "sh /opt/module/starrocks/fe/bin/start_fe.sh --daemon"
8.7、查看节点是否启动成功
ps aux | grep StarRocksFE
ansible fe -m shell -a "ps aux | grep StarRocksFE"
8.8、重复以上步骤升级其他 Follower FE 节点,最后升级 Leader FE 节点。
9、查看集群状态
9.1、查看FE节点
show frontends;
9.2、查看BE节点
show backends;
9.3、查看Broker节点
show proc '/brokers';
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!