searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

clickhouse 从22.8.9.24升级到 23.3.13.6-lts

2024-07-01 03:26:47
50
0

一、背景

23.3.13.6-lts版本支持了一些研发上所需特定,性能上较22.8.9.24有所提升。

 

二、升级前提

1)升级clickhouse keeper

升级keeper的作用在于新版本支持Prometheus指标吐出,鉴于后续使用byconity,故可不升级。

 

2)升级clickhouse server

从官方下载所需版本的包如下:

clickhouse-client-23.3.13.6-amd64.tgz
clickhouse-common-static-23.3.13.6-amd64.tgz
clickhouse-common-static-dbg-23.3.13.6-amd64.tgz
clickhouse-server-23.3.13.6-amd64.tgz

 

3)升级前先使用  ps -ef |grep clickhouse 查看运行的配置文件在哪个目录,后续复制配置文件需要。

4)修改kafka engine表不允许有default 字段。

新版本做了限制,不允许kafka engine表声明 default 'xxx' 这种语法(之前旧版本放开是不正确的),如何快速去修改哪些表使用了kafka engine?

1、登录ck后 use DB_NAME,然后show tables;

2、看到表名如 xxx_kafka的则是kafka engine 表。

类似如下的则是需要修改的表结构:

 

三、升级clickhouse-server

1、依次解压以上提供的压缩包按以下顺序安装

安装顺序 包名
1 clickhouse-common-static
2 clickhouse-common-static-dbg
3 clickhouse-client
4 clickhouse-server

2、安装 clickhouse-common-static

一般场景中直接执行 ./install/doinst.sh 即可,但由于生产权限限制无法操作,故需要按照以下方式手工复制文件并授权
cd clickhouse-common-static-23.3.13.6

chmod 755 ./usr/* -R
sudo chown clickhouse: ./*

cp ./usr/bin/* /usr/bin/
cp ./usr/share/bash-completion/* /usr/share/bash-completion/*

 

3、安装 clickhouse-common-static-dbg

cd clickhouse-common-static-dbg-23.3.13.6

chmod 755 ./usr/* -R
sudo chown clickhouse: ./*

cp ./usr/lib/* /usr/lib/

4、安装 clickhouse-client

cd clickhouse-client-23.3.13.6

chmod 755 ./* -R
sudo chown clickhouse: ./*

cp ./etc/*  /etc/
cp ./usr/bin/*  /usr/bin/

5、安装 clickhouse-server

cd clickhouse-server-23.3.13.6

chmod 755 ./* -R
sudo chown clickhouse: ./*

cp ./etc/*  /etc/
cp ./usr/bin/*  /usr/bin/

# 复制systemctl 服务脚本
cp ./lib/systemd/system/clickhouse-server.service  /etc/systemd/system/


# 配置开机启动
systemctl enable clickhouse-server.service

 

6、开始复制 clickhouse-server 的配置文件

使用 ps -ef|grep clickhouse 输出类似如下:

/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid

得到 原先旧进程所在的配置文件路径:
1. 将其 config.xml 同级的 config.d中的文件复制到  /etc/clickhouse-server/config.d/下
2. 将其 config.xml 同级的 user.xml 文件复制到 /etc/clickhouse-server/ 下,覆盖旧文件。

 

7、开始更改数据文件夹权限

由于旧进程不一定是 clickhouse 用户启动,估按照目前标准流程使用clickhouse 启动后会有权限问题,故需要:

1、先停止旧进程 (使用ps -ef | grep clickhouse) 然后 kill。
2、查看 config.d 中的文件中设置的日志文件和数据问题目录进行授权给 clickhouse 用户。

如:
chown clickhouse: /data/ckdata -R
chown clickhouse: /data/clickhouse -R

8、尝试启动进程

先使用命令执行启动
sudo -u clickhouse /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid

观察是否能正常启动,如果不能错误能立即观察到,进行相应修复。
如果正常启动,则退出后,再使用以下命令正常启动即可在后端daemon运行:

systemc restart clickhouse-server

后续观察输出日志是否正常。

 

注意:如果是生产环境直接操作,建议备份数据,否则建议在测试环境做一次完整测试验证后再做生产环境操作。

 

 

0条评论
0 / 1000
l****n
14文章数
0粉丝数
l****n
14 文章 | 0 粉丝
原创

clickhouse 从22.8.9.24升级到 23.3.13.6-lts

2024-07-01 03:26:47
50
0

一、背景

23.3.13.6-lts版本支持了一些研发上所需特定,性能上较22.8.9.24有所提升。

 

二、升级前提

1)升级clickhouse keeper

升级keeper的作用在于新版本支持Prometheus指标吐出,鉴于后续使用byconity,故可不升级。

 

2)升级clickhouse server

从官方下载所需版本的包如下:

clickhouse-client-23.3.13.6-amd64.tgz
clickhouse-common-static-23.3.13.6-amd64.tgz
clickhouse-common-static-dbg-23.3.13.6-amd64.tgz
clickhouse-server-23.3.13.6-amd64.tgz

 

3)升级前先使用  ps -ef |grep clickhouse 查看运行的配置文件在哪个目录,后续复制配置文件需要。

4)修改kafka engine表不允许有default 字段。

新版本做了限制,不允许kafka engine表声明 default 'xxx' 这种语法(之前旧版本放开是不正确的),如何快速去修改哪些表使用了kafka engine?

1、登录ck后 use DB_NAME,然后show tables;

2、看到表名如 xxx_kafka的则是kafka engine 表。

类似如下的则是需要修改的表结构:

 

三、升级clickhouse-server

1、依次解压以上提供的压缩包按以下顺序安装

安装顺序 包名
1 clickhouse-common-static
2 clickhouse-common-static-dbg
3 clickhouse-client
4 clickhouse-server

2、安装 clickhouse-common-static

一般场景中直接执行 ./install/doinst.sh 即可,但由于生产权限限制无法操作,故需要按照以下方式手工复制文件并授权
cd clickhouse-common-static-23.3.13.6

chmod 755 ./usr/* -R
sudo chown clickhouse: ./*

cp ./usr/bin/* /usr/bin/
cp ./usr/share/bash-completion/* /usr/share/bash-completion/*

 

3、安装 clickhouse-common-static-dbg

cd clickhouse-common-static-dbg-23.3.13.6

chmod 755 ./usr/* -R
sudo chown clickhouse: ./*

cp ./usr/lib/* /usr/lib/

4、安装 clickhouse-client

cd clickhouse-client-23.3.13.6

chmod 755 ./* -R
sudo chown clickhouse: ./*

cp ./etc/*  /etc/
cp ./usr/bin/*  /usr/bin/

5、安装 clickhouse-server

cd clickhouse-server-23.3.13.6

chmod 755 ./* -R
sudo chown clickhouse: ./*

cp ./etc/*  /etc/
cp ./usr/bin/*  /usr/bin/

# 复制systemctl 服务脚本
cp ./lib/systemd/system/clickhouse-server.service  /etc/systemd/system/


# 配置开机启动
systemctl enable clickhouse-server.service

 

6、开始复制 clickhouse-server 的配置文件

使用 ps -ef|grep clickhouse 输出类似如下:

/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid

得到 原先旧进程所在的配置文件路径:
1. 将其 config.xml 同级的 config.d中的文件复制到  /etc/clickhouse-server/config.d/下
2. 将其 config.xml 同级的 user.xml 文件复制到 /etc/clickhouse-server/ 下,覆盖旧文件。

 

7、开始更改数据文件夹权限

由于旧进程不一定是 clickhouse 用户启动,估按照目前标准流程使用clickhouse 启动后会有权限问题,故需要:

1、先停止旧进程 (使用ps -ef | grep clickhouse) 然后 kill。
2、查看 config.d 中的文件中设置的日志文件和数据问题目录进行授权给 clickhouse 用户。

如:
chown clickhouse: /data/ckdata -R
chown clickhouse: /data/clickhouse -R

8、尝试启动进程

先使用命令执行启动
sudo -u clickhouse /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-server.pid

观察是否能正常启动,如果不能错误能立即观察到,进行相应修复。
如果正常启动,则退出后,再使用以下命令正常启动即可在后端daemon运行:

systemc restart clickhouse-server

后续观察输出日志是否正常。

 

注意:如果是生产环境直接操作,建议备份数据,否则建议在测试环境做一次完整测试验证后再做生产环境操作。

 

 

文章来自个人专栏
数据库原理
14 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0