clickhouse21升级至24(去zookeeper模式,改为keeper)

clickhouse21升级至24(去zookeeper模式,改为keeper)

解决方案goocz2025-03-26 10:54:5424A+A-

clickhouse21.7.4.18升级至24.8.8.17

升级包下载地址:
https://packages.clickhouse.com/tgz/stable/

1、虚表、视图处理

升级前需要把engine为Kafka、Distributed、MaterializedView的虚表、视图备份,然后删掉,否则升级后启动会出现kafka相关表、视图报错

(1)查询以上类型的虚表、视图

SELECT * FROM system.tables where engine='Kafka' or engine='Distributed' or engine='MaterializedView';

(2)将查询出来的结果导出为csv文件,目的是为了备份虚表、视图的结构

(3)删除虚表、视图

drop table table1;
drop view view1;


2、停止clickhouse集群


3、停止zookeeper,将zookeeper数据快照转换为keeper格式

(1)停止所有 ZooKeeper 节点(先停止所有flower节点,最后停止leader节点)。

(2)可选,但推荐:找到 ZooKeeper 领导节点,再次启动和停止它。它将强制 ZooKeeper 创建一致的快照。

(3)在 leader 节点上运行,例如:
clickhouse-keeper-converter

clickhouse-keeper-converter --zookeeper-logs-dir /var/lib/zookeeper/version-2 --zookeeper-snapshots-dir /var/lib/zookeeper/version-2 --output-dir /path/to/clickhouse/keeper/snapshots

上面转换后的快照文件,拷贝至clickhouse-keeper配置文件中的snapshot_storage_path目录下

    /var/lib/clickhouse/coordination/snapshots


4、下载安装包进行升级


clickhouse-client-24.8.8.17、
clickhouse-common-static-24.8.8.17、
clickhouse-server-24.8.8.17、
clickhouse-keeper-24.8.8.17(如果单独服务器部署keeper,则需要下载此包)

升级顺序:common-static、client、server

如果是rpm包,直接安装即可

rpm -Uvh clickhouse-common-static-24.8.8.17.x86_64.rpm clickhouse-client-24.8.8.17.x86_64.rpm clickhouse-server-24.8.8.17.x86_64.rpm



5、clickhouse-keeper配置文件修改、启动(keeper_config.xml)

    0.0.0.0
    
            9181
            1

            /var/lib/clickhouse/coordination/logs
            /var/lib/clickhouse/coordination/snapshots

            
                10000
                10000
                100000
                information
                false
            

            true

            
                
                    1
                    192.168.3.112
                    9234
                
                
                    2
                    192.168.3.113
                    9234
                
                
                    3
                    192.168.3.114
                    9234
                
            
    

每个节点server_id不一样。

clickhouse-keeper启动

clickhouse-keeper --config /etc/your_path_to_config/keeper_config.xml


6、clickhouse-server配置文件修改、启动(config.xml)

#关键部分

 #关键部分 
    
       trace
        /var/log/clickhouse-server/clickhouse-server.log
        /var/log/clickhouse-server/clickhouse-server.err.log
    

    8123
    9300
    9004
    9005

    9009

    0.0.0.0

    /data/clickhouse/shard4-replica1/data/</path

    /data/clickhouse/shard4-replica1/user_files/

    
        
            users.xml
        
        
            /data/clickhouse/shard4-replica1/access/
        
    

    
         
            
            
                
                    192.168.3.112
                    9001
                    default
                    123123
                
                
                    192.168.3.113
                    9000
                    default
                    123123
                
            
            
            
                
                    192.168.3.113
                    9001
                    default
                    123123
                
                
                    192.168.3.114
                    9000
                    default
                    123123
                
            
            
            
                
                    192.168.3.114
                    9001
                    default
                    123123
                
                
                    1192.168.3.112
                    9000
                    default
                    123123
                
            
        
    

    
        01
        spark112-01-1
    

    
        
            192.168.3.112
            9181
        
        
            192.168.3.113
            9181
        
        
            192.168.3.114
            9181
        
    

每个节点path、shard、node地址不同,根据自己实际地址进行修改

启动所有节点clickhouse-server

clickhouse-server --config-file=/etc/clickhouse-server/config.xml


7、将engine为Kafka、Distributed、MaterializedView的虚表、视图进行还原

通过升级前的备份,将这些虚表、视图重新创建


升级要点:

1、升级前备份所有节点配置文件

2、升级顺序
clickhouse-client-24.8.8.17、
clickhouse-common-static-24.8.8.17、
clickhouse-server-24.8.8.17(24版本server执行程序集成了keeper)

3、clickhouse-server、clickhouse-keeper配置监听

0.0.0.0

4、
clickhouse-keeper-24.8.8.17,独立的服务器部署keeper,则需要下载此包,如果clickhouse-keeper和clickhouse-server在一台服务器上,就不需要安装keeper包了,如果安装了会导致clickhouse-keeper执行程序把clickhouse-server的执行程序覆盖掉,尤其是最后安装的clickhouse-keeper包,会导致后面clickhouse-server启动时出现:DB::Exception: Keeper configuration(section)not found in config的错误。

/usr/bin/clickhouse
/usr/bin/clickhouse-benchmark -> /usr/bin/clickhouse
/usr/bin/clickhouse-client -> /usr/bin/clickhouse
/usr/bin/clickhouse-compressor -> /usr/bin/clickhouse
/usr/bin/clickhouse-disks -> /usr/bin/clickhouse
/usr/bin/clickhouse-extract-from-config -> /usr/bin/clickhouse
/usr/bin/clickhouse-format -> /usr/bin/clickhouse
usr/bin/clickhouse-git-import -> /usr/bin/clickhouse
/usr/bin/clickhouse-keeper -> /usr/bin/clickhouse
/usr/bin/clickhouse-keeper-client -> clickhouse
/usr/bin/clickhouse-keeper-converter -> /usr/bin/clickhouse
/usr/bin/clickhouse-local -> /usr/bin/clickhouse
/usr/bin/clickhouse-obfuscator -> /usr/bin/clickhouse
/usr/bin/clickhouse-server -> /usr/bin/clickhouse


通过查看所有程序都是软连接到/usr/bin/clickhouse的,所以如果最后安装了clickhouse-keeper,会导致clickhouse被覆盖,也就是说只有keeper的功能,其他功能都是不支持的。

5、clickhouse-server 修改参数(async_load_databases=false)

    false

6、定义各节点宏

#此处的replica名字千万不要修改,原来是什么还是什么,修改后,会导致物理表找不到数据存储路径
    
        01
        spark112-01-1
    


一定要注意升级要点!!!

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5