为了尝试新特性,对相关集群进行升级啦。(最主要的是备份哦)
1 第一台BE节点升级
1.1 备份文件
cd /mnt/starrocks_product/install/fe_2_be_1/starrocks/be
mv bin bin.bak
mv lib lib.bak
1.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/be/bin /mnt/starrocks_product/install/fe_2_be_1/starrocks/be
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/be/lib /mnt/starrocks_product/install/fe_2_be_1/starrocks/be
1.3 停止旧be运行新be
./bin.bak/stop_be.sh
./bin/start_be.sh --daemon
1.4 检查坏表
mysql -h127.0.0.1 -P9030 -uroot -proot
show backends\G
Alive: true
Version: 2.3.0-RC01-e14245a
show proc '/statistic';
UnhealthyTabletNum和InconsistentTabletNum 0就继续
若升级后BE立刻出现问题,直接在bin中停止当前BE进程,将当前的bin和lib重命名为bin.new和lib.new,再将bin.bak和lib.bak改回bin和lib,然后重新执行bin中的启动脚本即可完成回滚。
2 第二台BE节点升级
2.1 备份文件
cd /mnt/starrocks_product/install/be_2/starrocks/be
mv bin bin.bak
mv lib lib.bak
2.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/be/bin /mnt/starrocks_product/install/be_2/starrocks/be
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/be/lib /mnt/starrocks_product/install/be_2/starrocks/be
2.3 停止旧be运行新be
./bin.bak/stop_be.sh
./bin/start_be.sh --daemon
2.4 检查坏表
mysql -h127.0.0.1 -P9030 -uroot -proot
show backends\G
Alive: true
Version: 2.3.0-RC01-e14245a
show proc '/statistic';
UnhealthyTabletNum和InconsistentTabletNum 0就继续
3 第三台BE节点升级
3.1 备份文件
cd /mnt/starrocks_product/install/be_3/starrocks/be
mv bin bin.bak
mv lib lib.bak
3.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/be/bin /mnt/starrocks_product/install/be_3/starrocks/be
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/be/lib /mnt/starrocks_product/install/be_3/starrocks/be
3.3 停止旧be运行新be
./bin.bak/stop_be.sh
./bin/start_be.sh --daemon
3.4 检查坏表
mysql -h127.0.0.1 -P9030 -uroot -proot
show backends\G
Alive: true
Version: 2.3.0-RC01-e14245a
show proc '/statistic';
UnhealthyTabletNum和InconsistentTabletNum 0就继续
4 第一台FE节点升级
Leader、Follower和Observer,它们的升级顺序为Observer->Follower->Leader
4.1 备份文件
cd /mnt/starrocks_product/install/fe_1/starrocks/fe
mv bin bin.bak
mv lib lib.bak
4.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/fe/bin /mnt/starrocks_product/install/fe_1/starrocks/fe
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/fe/lib /mnt/starrocks_product/install/fe_1/starrocks/fe
4.3 停止旧be运行新be
./bin.bak/stop_fe.sh
备份元数据目录[重要]:
cp -r /mnt/starrocks_product/install/fe_1/meta /mnt/starrocks_product/install/fe_1/meta2207091200
./bin/start_fe.sh --daemon
4.4 观察运行状态
show frontends\G
命令查看FE状态,观察几分钟,若Alive为true通常就没有问题。
假设FE出现异常,我们需要立刻停止新版本的FE进程,重命名新版本bin和lib为bin.new和lib.new,将旧版本的bin.bak和lib.bak恢复命名为bin和lib。然后,删除新版本程序使用多的元数据目录meta,并将备份的那份元数据拷贝一份命名为meta,最后再使用老版本的FE程序文件启动。这里的操作非常重要,务必要留意。
在3FE Follower的情况下,假设一个FE出现了无法解决的问题,一种应急的做法是立刻停止这个FE的进程,替换其元数据目录meta,然后将这个FE视为新实例,指定--helper再次添加进集群。
5 第二台FE节点升级(先逐个升级Observer,再升级Leader。)
5.1 备份文件
cd /mnt/starrocks_product/install/fe_2_be_1/starrocks/fe
mv bin bin.bak
mv lib lib.bak
5.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/fe/bin /mnt/starrocks_product/install/fe_2_be_1/starrocks/fe
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/fe/lib /mnt/starrocks_product/install/fe_2_be_1/starrocks/fe
5.3 停止旧be运行新be
./bin.bak/stop_fe.sh
备份元数据目录[重要]:
cp -r /mnt/starrocks_product/install/fe_2_be_1/meta /mnt/starrocks_product/install/fe_2_be_1/meta2207091200
./bin/start_fe.sh --daemon
5.4 观察运行状态
show frontends\G
6 第一台Broker节点升级
6.1 备份文件
cd /mnt/starrocks_product/install/fe_2_be_1/starrocks/apache_hdfs_broker
mv bin bin.bak
mv lib lib.bak
6.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/apache_hdfs_broker/bin /mnt/starrocks_product/install/fe_2_be_1/starrocks/apache_hdfs_broker
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/apache_hdfs_broker/lib /mnt/starrocks_product/install/fe_2_be_1/starrocks/apache_hdfs_broker
6.3 停止旧broker运行新broker
./bin.bak/stop_broker.sh
./bin/start_broker.sh --daemon
6.4 观察运行状态
show broker\G
7 第二台Broker节点升级
7.1 备份文件
cd /mnt/starrocks_product/install/be_2/starrocks/apache_hdfs_broker
mv bin bin.bak
mv lib lib.bak
7.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/apache_hdfs_broker/bin /mnt/starrocks_product/install/be_2/starrocks/apache_hdfs_broker
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/apache_hdfs_broker/lib /mnt/starrocks_product/install/be_2/starrocks/apache_hdfs_broker
7.3 停止旧be运行新be
./bin.bak/stop_broker.sh
./bin/start_broker.sh --daemon
7.4 观察运行状态
show broker\G
8 第三台Broker节点升级
8.1 备份文件
cd /mnt/starrocks_product/install/be_3/starrocks/apache_hdfs_broker
mv bin bin.bak
mv lib lib.bak
8.2 复制文件
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/apache_hdfs_broker/bin /mnt/starrocks_product/install/be_3/starrocks/apache_hdfs_broker
cp -r /mnt/starrocks_product/StarRocks-2.3.0-rc01/apache_hdfs_broker/lib /mnt/starrocks_product/install/be_3/starrocks/apache_hdfs_broker
8.3 停止旧be运行新be
./bin.bak/stop_broker.sh
./bin/start_broker.sh --daemon
8.4 观察运行状态
show broker\G
9 回滚顺序
StarRocks保证BE后向兼容FE,所以回滚的顺序整体和升级相反,为:
FE Leader->FE Follower->FE Observer->BE->Broker
这个顺序也千万不要颠倒。