一、降级的注意事项
集群信息
172.21.27.29
172.21.27.30
172.21.27.31
#
mysql -h172.21.27.30 -P9030 -uroot
二、降级前的准备
通用兼容性设置
降级前,请关闭 Tablet Clone。如果您已经关闭 Balancer,可以跳过该步骤。
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_scheduling_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_balancing_tablets" = "0");
ADMIN SET FRONTEND CONFIG ("disable_balance"="true");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="true");
三、降级FE
- 进入fe节点后,停fe服务
# 将 <fe_dir> 替换为 FE 节点的部署目录。
cd <fe_dir>/fe
./bin/stop_fe.sh
- 替换部署文件原有路径bin、lib和spark-dpp为旧版本的部署文件
mv lib lib_30bak
mv bin bin_30bak
mv spark-dpp spark-dpp_30bak
#cp -r /tmp/StarRocks-x.x.x/fe/lib .
#cp -r /tmp/StarRocks-x.x.x/fe/bin .
#cp -r /tmp/StarRocks-x.x.x/fe/spark-dpp .
mv lib_25bak lib
mv bin_25bak bin
mv spark-dpp_25bak spark-dpp
cp lib_30bak/starrocks-bdb-je-18.3.16.jar lib/starrocks-bdb-je-18.3.16.jar
mv lib/je-7.3.7.jar lib/je-7.3.7.jar_bak
注意:
如需将 StarRocks v3.0 降级至 v2.5,则必须在替换部署文件后执行以下步骤:
-
将 v3.0 部署文件中的fe/lib/starrocks-bdb-je-18.3.13.jar 复制到 v2.5 部署文件的 fe/lib 路径下。
-
删除文件 fe/lib/je-7.*.jar。
-
启动fe节点
sh bin/start_fe.sh --daemon
- 查看节点是否成功启动
ps aux | grep StarRocksFE
-
重复以上步骤降级follower,最后降级leader
-
创建image
# 所有fe降级完成后,执行
ALTER SYSTEM CREATE IMAGE;
注意
如需将 StarRocks v3.0 降级至 v2.5,则必须在降级完成后执行以下步骤:
- 执行 ALTER SYSTEM CREATE IMAGE 创建新的元数据快照文件。
- 等待元数据快照文件同步至其他 FE 节点。
如果不运行该命令,部分降级操作可能会失败。ALTER SYSTEM CREATE IMAGE 命令仅在 v2.5.3 及更高版本支持。
- 检查fe集群状态
#
show frontends;
四、降级BE
降级所有 FE 节点后,您可以继续降级 BE 节点。
- be节点的停服
# 将 <be_dir> 替换为 BE 节点的部署目录。
cd <be_dir>/be
./bin/stop_be.sh
- 替换部署文件原有路径 bin 和 lib 为旧版本的部署文件。
mv lib lib_30bak
mv bin bin_30bak
mv bin_25bak bin
mv lib_25bak lib
#cp -r /tmp/StarRocks-x.x.x/be/lib .
#cp -r /tmp/StarRocks-x.x.x/be/bin .
- 启动该 BE 节点。
sh bin/start_be.sh --daemon
- 查看节点是否启动成功。
ps aux | grep starrocks_be
-
重复以上步骤降级其他 BE 节点。
五、检查
#
六、恢复参数
完成降级,并且所有 BE 节点状态变为 Alive 后,您可以重新开启 Tablet Clone。
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_scheduling_tablets" = "10000");
ADMIN SET FRONTEND CONFIG ("tablet_sched_max_balancing_tablets" = "500");
ADMIN SET FRONTEND CONFIG ("disable_balance"="false");
ADMIN SET FRONTEND CONFIG ("disable_colocate_balance"="false");