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
至此。