暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[【ClickHouse 运维系列】ClickHouse 集群从 22.5.1.2079 滚动升级到 24.8.6.70 流程步骤

原创 尚雷 2024-12-02
664

一、背景信息

当前生产使用的 22.5.1.2079 版本存在一个 bug ,即当统计 hive 引擎外部表数据会导致集群节点某个实例宕,当出现此故障时,需要手工处理解决,另该版本还存在内存溢出的问题。为解决此问题,根据 clickhouse 官方发布的补丁,显示在 24.8.6.70 LTS 版本已解决此 BUG,前期已在 clickhouse 测试环境进行验证,目前反馈正常,计划对生产环境进行升级验证。

二、升级步骤

升级前,为减少因 clickhouse 重启带来的短暂应用连接报错,将待升级机房的应用流量切至其它点,待升级结束后再回切回来。

为此,整理了以下升级步骤

一、升级步骤
1) 备份数据 (另附脚本)
    clickhouse-backup --config /etc/clickhouse-backup/config.yml create hg_backup_1129 --tables=hg.*
    clickhouse-backup --config /etc/clickhouse-backup/config.yml create cube_backup_1129 --tables=mic_cube.*
    clickhouse-backup --config /etc/clickhouse-backup/config.yml upload hg_backup_1129
    clickhouse-backup --config /etc/clickhouse-backup/config.yml upload hg_backup_1129
 
2) 下载新版本 clickhouse 安装包
    wget https://github.com/ClickHouse/ClickHouse/releases/download/v24.8.6.70-lts/clickhouse-common-static-24.8.6.70.x86_64.rpm
    wget https://github.com/ClickHouse/ClickHouse/releases/download/v24.8.6.70-lts/clickhouse-common-static-dbg-24.8.6.70.x86_64.rpm
    wget https://github.com/ClickHouse/ClickHouse/releases/download/v24.8.6.70-lts/clickhouse-server-24.8.6.70.x86_64.rpm
    wget https://github.com/ClickHouse/ClickHouse/releases/download/v24.8.6.70-lts/clickhouse-client-24.8.6.70.x86_64.rpm
 
3)  停止 clickhouse 服务
    # 首先停止待升级节点 clickhouse 服务
    systemctl stop clickhouse-server.service
    systemctl  clickhouse-server.service
 
4)  删除原 clickhouse 文件
    # 升级前需要删除原 clickhouse 产生的某些文件,检查如下文件是否存在,若存在需要删除(若存在不删除升级时会报错)
    cd /usr/lib/debug/usr/bin/
    rm -f clickhouse.debug clickhouse-library-bridge.debug  clickhouse-odbc-bridge.debug
  
5)  升级 clickhouse
    # 在待升级的节点执行如下升级命令
    rpm -Uvh *.rpm
 
6)  验证服务
    systemctl restart clickhouse-server
    systemctl status clickhouse-server  
    clickhouse-client --version
 
7)  升级另一个节点
    # 参照上述步骤升级另外一个节点 clickhouse 数据库
 
8) 修改 config.xml 配置文件
   # 修改 /etc/clickhouse-server/config.xml 配置文件,替换并修改为如下内容
    <access_control_improvements>
        <!-- Enables logic that users without permissive row policies can still read rows using a SELECT query.
             For example, if there two users A, B and a row policy is defined only for A, then
             if this setting is true the user B will see all rows, and if this setting is false the user B will see no rows.
             By default this setting is false for compatibility with earlier access configurations. -->
        <users_without_row_policies_can_read_rows>false</users_without_row_policies_can_read_rows>
        <on_cluster_queries_require_cluster_grant>false</on_cluster_queries_require_cluster_grant>
    </access_control_improvements>
 
9) 重启 clickhouse 服务
    systemctl restart clickhouse-server
    systemctl status clickhouse-server  
  
二、回退方案
   若升级过程遇到问题需要回退,可参照如下方式回退
1) 停止 clickhouse 服务
    systemctl restart clickhouse-server
    systemctl status clickhouse-server
 
2) 安装原 rpm 包
    rpm -Uvh clickhouse-common-static-22.5.1.2079.x86_64.rpm --nodeps
    rpm -Uvh clickhouse-common-static-dbg-22.5.1.2079.x86_64.rpm --nodeps
    rpm -Uvh clickhouse-server-22.5.1.2079.x86_64.rpm --nodeps
    rpm -Uvh clickhouse-client-22.5.1.2079.x86_64.rpm --nodeps   
 
3) 启动服务
    systemctl restart clickhouse-server
    systemctl status clickhouse-server
 
4) 将 config.xml 配置文件重新修改为原文件并重启 clickhouse 服务
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论