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。

sql 复制代码
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。

sql 复制代码
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 的值。

sql 复制代码
SET GLOBAL batch_size = 4096;

4、准备工作

4.1、解压安装包

powershell 复制代码
tar -zxf StarRocks-3.1.6.tar.gz

4.2、修改FE目录名称

powershell 复制代码
mv bin bin.316
mv spark-dpp spark-dpp.316
mv llib ib.316

4.3、修改BE目录名称

powershell 复制代码
mv bin bin.316
mv llib ib.316

4.4、修改broker目录名称

powershell 复制代码
mv bin bin.316
mv llib ib.316

4.5、修改start_broker.sh

powershell 复制代码
vi start_broker.sh

export JAVA_HOME=/usr/java/jdk-17

5、升级 BE

5.1、分发bin目录

powershell 复制代码
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目录

powershell 复制代码
ansible be -m copy -a 'src=/opt/soft/StarRocks-3.1.6/be/lib.316 dest=/opt/module/starrocks/be/'

5.3、修改老版本目录名称

powershell 复制代码
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、修改新版本目录名称

powershell 复制代码
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 节点

powershell 复制代码
./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、查看节点是否启动成功

powershell 复制代码
ps aux | grep starrocks_be

ansible be -m shell -a "ps aux | grep starrocks_be"

5.7、重复以上步骤升级其他 BE 节点

6、升级 Broker

6.1、分发bin目录

powershell 复制代码
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目录

powershell 复制代码
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、修改老版本目录名称

powershell 复制代码
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、修改新版本目录名称

powershell 复制代码
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节点

powershell 复制代码
ansible be -m shell -a "sh /opt/module/starrocks/apache_hdfs_broker/bin/start_broker.sh --daemon"

6.6、查看节点是否启动成功

powershell 复制代码
ps aux |grep BrokerBootstrap

ansible be -m shell -a "ps aux |grep BrokerBootstrap"

7、升级 CN

7.1、进入 CN 节点工作路径,并优雅停止该节点

powershell 复制代码
# 将 <cn_dir> 替换为 CN 节点的部署目录。
cd <cn_dir>/be
./bin/stop_cn.sh --graceful

7.2、替换部署文件原有路径 bin 和 lib 为新版本的部署文件

powershell 复制代码
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 节点

powershell 复制代码
sh bin/start_cn.sh --daemon

7.4、查看节点是否启动成功

powershell 复制代码
ps aux | grep starrocks_be

7.5、重复以上步骤升级其他 CN 节点。

8、升级 FE

8.1、分发bin目录

powershell 复制代码
ansible fe -m copy -a 'src=/opt/soft/StarRocks-3.1.6/fe/bin.316 dest=/opt/module/starrocks/fe/'

8.2、分发lib目录

powershell 复制代码
ansible fe -m copy -a 'src=/opt/soft/StarRocks-3.1.6/fe/lib.316 dest=/opt/module/starrocks/fe/'

8.3、分发spark-dp目录

powershell 复制代码
ansible fe -m copy -a 'src=/opt/soft/StarRocks-3.1.6/fe/spark-dpp.316 dest=/opt/module/starrocks/fe/'

8.4、修改老版本目录名称

powershell 复制代码
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、修改新版本目录名称

powershell 复制代码
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 节点

powershell 复制代码
./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、查看节点是否启动成功

powershell 复制代码
ps aux | grep StarRocksFE

ansible fe -m shell -a "ps aux | grep StarRocksFE"

8.8、重复以上步骤升级其他 Follower FE 节点,最后升级 Leader FE 节点。

9、查看集群状态

9.1、查看FE节点

powershell 复制代码
show frontends;

9.2、查看BE节点

powershell 复制代码
show backends;

9.3、查看Broker节点

powershell 复制代码
show proc '/brokers';
相关推荐
StarRocks_labs3 天前
淘宝闪购实时分析黑科技:StarRocks + Paimon撑起秋天第一波奶茶自由
starrocks·数据湖·阿里巴巴·paimon·物化视图
镜舟科技5 天前
告别 Hadoop,拥抱 StarRocks!政采云数据平台升级之路
大数据·starrocks·数据仓库·hadoop·存算分离
StarRocks_labs15 天前
欧洲数字化养殖平台 Herdwatch 借力 Iceberg + StarRocks 提升分析能力
数据库·starrocks·iceberg·湖仓一体架构·herdwatch
阿里云大数据AI技术20 天前
鹰角网络基于阿里云 EMR Serverless StarRocks 的实时分析工程实践
starrocks·clickhouse·阿里云·emr·实时分析
小Tomkk21 天前
StarRocks不能启动 ,StarRocksFe节点不能启动问题 处理
starrocks·log满了
jakeswang1 个月前
去哪儿StarRocks实践
starrocks·后端
鸿乃江边鸟1 个月前
Starrocks中的 Query Profile以及explain analyze及trace命令中的区别
大数据·starrocks·sql
鸿乃江边鸟1 个月前
Starrocks ShortCircuit短路径的调度
大数据·starrocks·sql
镜舟科技1 个月前
什么是列存储(Columnar Storage)?深度解析其原理与应用场景
starrocks·数据分析·列存储·行存储·mpp分布式架构