精华 ClickHouse版本升级
发布于 9 个月前 作者 jackpgao 2095 次浏览 来自 实战经验

方案

  • 我们内部的ClickHouse采用域名轮训的方式,整体架构如下:

  • 升级思路:
    • 一台一台从DNS里摘除,期间分布式表无法读取,整体写入被其他未停机节点接收

stop ClickHouse进程

yum remove ClickHouse安装包

yum remove -y clickhouse-server
yum remove -y clickhouse-client
yum remove -y clickhouse-compressor
yum remove -y clickhouse-server-common

下载新的包

  1. 根据官方发布文档,找到最新稳定版本

  2. https://packagecloud.io/app/Altinity/clickhouse/search?q=1.1.54362&filter=all&dist=搜索对应的版本,下载CentOS7、X64的rpm包

  3. 只需要注意如下包,test和debug的无需

clickhouse-client-1.1.54362-1.el7.x86_64.rpm
clickhouse-server-1.1.54362-1.el7.x86_64.rpm
clickhouse-server-common-1.1.54362-1.el7.x86_64.rpm

重启

问题

error: Failed dependencies:
        libcrypto.so.10(OPENSSL_1.0.2)(64bit) is needed by clickhouse-server-1.1.54362-1.el7.x86_64
        
yum -y install openssl         

写入问题

  • JDBC采用内部轮训写(ip1, ip2, ip3),可以不做修改即可自动切换
  • Python ClickHouse Driver存在异常,DNS修改后,仍旧会连接到老的IP,==暂时无解==

DNS刷新问题

现象

  • 时间统计图突然出现一个大坑,缺失很大一部分数据
  • 原因: QQ20180314-175928@2x
  • 实际数据没丢,只是集群看上去是3个,实际上是1个,只读到了1/3的数据

解决方案

  • 不能重启
    1. 替换域名为IP,动态加载 OR
    2. 还是用域名,所有节点执行:SYSTEM DROP DNS CACHE

常见问题

  • 请务必分清楚数据目录和ClickHouse-server,搞清楚你的数据目录和server目录安装的位置,不要再问数据目录会不会丢
  • Docker能不能用?当然能,效果更好
1 回复

git clone v1.1.54343-stable后源码编译不过。应该如何解决啊 下面是最后断掉的部分打印 contrib/poco/PDF/* dpkg-buildpackage: source only upload: Debian-native package W: /root/.pbuilderrc does not exist using bionic-amd64 ubuntu bionic amd64 root http://archive.ubuntu.com/ubuntu/ I: using fakeroot in build. I: Current time: Tue Jul 31 15:36:32 CST 2018 I: pbuilder-time-stamp: 1533022592 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bionic-amd64-base.tgz] E: failed to find /var/cache/pbuilder/bionic-amd64-base.tgz, have you done <pbuilder create> to create your base tarball yet?

回到顶部