服务器信息
主机名 | IP |
---|---|
my-db01 | 192.168.1.214 |
my-db02 | 192.168.1.215 |
my-db03 | 192.168.1.216 |
- hosts设置
# 切换成root
sudo -i
# my-db01 执行
echo '192.168.1.215 my-db02' >> /etc/hosts
echo '192.168.1.216 my-db03' >> /etc/hosts
# my-db02 执行
echo '192.168.1.214 my-db01' >> /etc/hosts
echo '192.168.1.216 my-db03' >> /etc/hosts
# my-db03 执行
echo '192.168.1.214 my-db01' >> /etc/hosts
echo '192.168.1.215 my-db02' >> /etc/hosts
安装
使用admin
用户安装:
- 添加官方镜像
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
- 安装
clickhouse-server和clickhouse-client
sudo yum install -y clickhouse-server clickhouse-client
版本信息:
操作系统:CentOS Linux release 7.9.2009 (Core)
systemd:219
clickhouse-client:23.2.4.12-1.x86_64
clickhouse-server:23.2.4.12-1.x86_64
clickhouse-common-static:23.2.4.12-1.x86_64
- 安装nc命令,用于检查连通性
yum install -y nc
调整配置
目录调整
# 创建数据目录
sudo mkdir -p /data/clickhouse/lib
# 创建日志目录
sudo mkdir -p /data/clickhouse/log
# 授权
sudo chown -R clickhouse:clickhouse /data/clickhouse
sudo chmod 777 /data
# 备份原始配置文件
sudo cp /etc/clickhouse-server/users.xml ~
sudo cp /etc/clickhouse-server/config.xml ~
# 更改目录配置
## 权限更改
sudo chmod 666 /etc/clickhouse-server/config.xml
sudo chmod 666 /etc/clickhouse-server/users.xml
## 日志目录替换
sudo sed -i 's?/var/log/clickhouse-server?/data/clickhouse/log?g' /etc/clickhouse-server/config.xml
## 数据目录替换
sudo sed -i 's?/var/lib/clickhouse?/data/clickhouse/lib?g' /etc/clickhouse-server/config.xml
启停
- 修改
sudo vi /usr/lib/systemd/system/clickhouse-server.service
参考:《问题记录->启动超时》 - 设置自启动:
sudo systemctl enable clickhouse-server
- 启动命令:
sudo systemctl start clickhouse-server
- 关闭命令:
sudo systemctl stop clickhouse-server
- 启动状态:
sudo systemctl status clickhouse-server
参数调整
sudo vi /etc/clickhouse-server/config.xml
中的配置:
-
background_pool_size
:默认16,可以调整到CPU个数的两倍。本次调整到32 -
max_concurrent_queries
:默认100,可以调整到200或者300。本次调整到200 -
设置外网(ipv4)可访问: <listen_host>0.0.0.0</listen_host> 设置interserver_listen_host,因为服务器不支持ipv6 (如果不设置,配置了clickhouse-keeper后,会无法启动,报错: RaftInstance: got exception: open: Address family not supported by protocol ) <interserver_listen_host>0.0.0.0</interserver_listen_host>
users.xml
中的配置:
- 密码设置:
# 使用下述命令生成随机密码
PASSWORD=$(base64 < /dev/urandom | head -c12); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
# 明文密码:z+yJwbcWv6MA
# 密文密码:b53ad819c11d5790655464f2d6ec0e78916551b62141fec0d1342a25138082d2
<password_sha256_hex>b53ad819c11d5790655464f2d6ec0e78916551b62141fec0d1