ClickHouse版本升级

 

ClickHouse集群版本升级

 

写在前边的话

ck软件是通过RPM方式安装的,不适用通过源码安装方式进行的升级。

不通过迁移方式进行升级,而是直接在服务器上对软件做升级。

升级期间停止所有的集群中ck服务器(6个节点),预先做好测试和准备流程,升级停机时间可以甚至控制在10分钟左右。

想要零停机进行升级,参考官网说明:自主管理升级https://clickhouse.com/docs/en/operations/update,里边说明了注意事项建议和推荐方案。

https://www.cnblogs.com/PiscesCanon/p/17784162.html

 

本次ck集群版本变化:22.3.2.2-2 --> 23.9.2.56

升级过程

1.(ALL)停止所有ck服务,每台节点均进行操作。

systemctl stop clickhouse-server
或者
/etc/init.d/clickhouse-server stop ##不建议,只针对使用/etc/init.d/clickhouse-server start方式启动

 

 

2.(ALL)转移现有的日志文件

mkdir /var/log/clickhouse-server/upgradebak
mv /var/log/clickhouse-server/clickhouse-server*log* /var/log/clickhouse-server/upgradebak

 

3.(ALL)备份移动配置文件(升级过程可能被覆盖)

mv /etc/clickhouse-server/config.xml /etc/clickhouse-server/config.xml.product
mv /etc/clickhouse-server/users.xml  /etc/clickhouse-server/users.xml.product
mv /etc/clickhouse-client/config.xml  /etc/clickhouse-client/config.xml.product

 

4.(ALL)升级新版本

unlink和ln操作说明:

22.3.2.2-2版本方式:/etc/systemd/system/clickhouse-server.service,并且该文件被软链接到/etc/systemd/system/multi-user.target.wants/clickhouse-server.service

23.9.2.56版本方式:/usr/lib/systemd/system/clickhouse-server.service,并且该文件被软链接到/etc/systemd/system/multi-user.target.wants/clickhouse-server.service

无论是直接rpm升级新版本或者是通过卸载安装新版本,软链接文件/etc/systemd/system/multi-user.target.wants/clickhouse-server.service不会被重置,需要手工处理。

因此特别主要版本不同需要进行不同处理,不一定每个版本都是类似的变化。请提前做好预演指定方案。

方式1(推荐):
rpm -Uvh clickhouse*.rpm
unlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service
ln -s /usr/lib/systemd/system/clickhouse-server.service /etc/systemd/system/multi-user.target.wants/clickhouse-server.service

方式2:先卸载再安装
yum remove -y clickhouse-common-static-22.3.2.2-2.x86_64
注:删除clickhouse-common-static会关联删除clickhouse-server和clickhouse-client包
rpm -qa | grep clickhouse
rpm -ivh clickhouse*.rpm
unlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service
ln -s /usr/lib/systemd/system/clickhouse-server.service /etc/systemd/system/multi-user.target.wants/clickhouse-server.service

防偷防爬

5.(ALL)更新配置文件同步生产配置

不要使用第3步骤中备份的*xml.product文件来给新版本使用,版本跨度越大可能产生的问题的可能性越大。

因为新版本的/etc/clickhouse-server/config.xml,/etc/clickhouse-server/users.xml,/etc/clickhouse-client/config.xml可能有适应该版本本身的配置,如新特性配置。

适用旧版本的这3个文件可能有隐患。

直接在新版本的文件里边根据老环境的配置进行修改同步,这个同步配置可能特别花时间,可提前做好配置后进行替换。

PS:/etc/clickhouse-server/config.d/的配置不需要理会。

6.(ALL)systemctl启动

systemctl daemon-reload
systemctl start clickhouse-server
systemctl status clickhouse-server

 

7.(ALL)观察新生成的日志

略。

 

官方链接

版本变更日志:https://clickhouse.com/docs/en/whats-new/changelog

ck安装部署:https://clickhouse.com/docs/zh/getting-started/install

生产版本推荐:https://clickhouse.com/docs/knowledgebase/production

ck云变更日志(不适用):https://clickhouse.com/docs/en/whats-new/cloud

ck云兼容性指南(不适用):https://clickhouse.com/docs/en/whats-new/cloud-compatibility

 

至此。

 

posted @ 2023-10-24 10:25  PiscesCanon  阅读(710)  评论(0编辑  收藏  举报