主要参考来源

http://docs.mirrorship.cn/zh/docs/3.0/deployment/upgrade/

下载地址

https://www.starrocks.io/download/community

目的

将Starrocks集群从3.0版本升级为最新的3.1

在集群所有的服务器上下载3.1最新的压缩包

# 将权限设置为管理员,选做

sudo -i

# 正式下载

wget https://releases.starrocks.io/starrocks/StarRocks-3.1.13.tar.gz

mkdir -p starrocks-3.1

tar -xzvf StarRocks-3.1.13.tar.gz -C ./starrocks-3.1

并解压到指定目录

之后直接进行滚动升级,首先升级BE节点,

cd /etc/starrocks/be

# 停止be节点

./bin/stop_be.sh

# 备份当前的版本相关文件夹

mv lib lib_3_0.bak

mv bin bin_3_0.bak

# 将新版本的相关文件夹复制到be文件夹之中。

cp -r /home/ec2-user/starrocks-3.1/StarRocks-3.1.13/be/lib .

cp -r /home/ec2-user/starrocks-3.1/StarRocks-3.1.13/be/bin .

# 重启be节点

sh bin/start_be.sh –daemon

# 查看本地启动状态

ps aux | grep starrocks_be

并且利用相关sql查看BE的版本的alive状态

show backends

BE升级完成之后,开始升级FE节点。

仍然采取着先停机,备份,拷贝新的文件夹,最后进行重启

需要注意的是,需要先滚动升级Follow节点之后,最后在升级Leader节点

# 1.停机

cd /etc/starrocks/fe

./bin/stop_fe.sh

# 2.备份

mv lib lib_3_0.bak

mv bin bin_3_0.bak

mv spark-dpp spark-dpp_3_0.bak

# 3.拷贝新文件夹

cp -r /home/ec2-user/starrocks-3.1/StarRocks-3.1.13/fe/lib .

cp -r /home/ec2-user/starrocks-3.1/StarRocks-3.1.13/fe/bin .

cp -r /home/ec2-user/starrocks-3.1/StarRocks-3.1.13/fe/spark-dpp .

# 4.重启

sh bin/start_fe.sh –daemon

仍然是本机验证完成启动状态之后,利用sql进行验证

ps aux | grep StarRocksFE

show frontends

在本次升级中,为了修复query过程中OOM的问题,还开启了Starrocks提供的算子中间结果落盘机制。

在各个BE节点上,创建落盘文件夹,最好设置在不同磁盘之上

mkdir -p /app/middle/dir

进入 BE的conf目录并进行配置

cd ./conf

vim be.conf

并在最后增加一行

spill_local_storage_dir = /app/middle/dir

之后在利用sql进行相关的配置开启。

SET GLOBAL enable_spill = true;

其默认的逻辑为当查询内存满的时候,会以文件的方式落盘

还可以设置SET spill_mode = { “auto” | “force” };

当设置为force的时候,会在查询过程中,尝试将一切中间状态落盘。

发表评论

邮箱地址不会被公开。 必填项已用*标注