clickhouse安装-clickhouse 22.8.13 for RHEL 9安装配置及升级迁移详细过程
1. 硬件环境检查
在安装clickhouse之前,必须对服务器的硬件环境进行全面检查,确保满足clickhouse 22.8.13的最低要求。更多学习教程www.fgedu.net.cn
# free -h
total used free shared buff/cache available
Mem: 64G 2.1G 60G 8.5M 1.8G 61G
Swap: 32G 0B 32G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 8.5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 2000G 20G 1980G 1% /data
# 检查CPU核心数
# nproc
16
# 检查系统架构
# uname -m
x86_64
2. 操作系统检查
clickhouse 22.8.13支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)
# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64
# 检查SELinux状态
# getenforce
Disabled
# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled
# 检查防火墙状态
# systemctl status firewalld
# 开放clickhouse相关端口
# firewall-cmd –permanent –add-port=8123/tcp
# firewall-cmd –permanent –add-port=9000/tcp
# firewall-cmd –permanent –add-port=9009/tcp
# firewall-cmd –reload
3. 安装准备
在安装clickhouse之前,需要进行一系列准备工作,包括配置YUM仓库、安装依赖等。
# dnf install -y epel-release
# dnf install -y wget curl
# 添加ClickHouse仓库
# yum-config-manager –add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
# 清理YUM缓存
# yum clean all
# yum makecache
4. clickhouse软件安装
现在开始安装clickhouse 22.8.13软件,按照以下步骤进行。
# dnf install -y clickhouse-server clickhouse-client
# 启动ClickHouse服务
# systemctl start clickhouse-server
# 设置ClickHouse服务开机自启
# systemctl enable clickhouse-server
# 验证ClickHouse服务状态
# systemctl status clickhouse-server
● clickhouse-server.service – ClickHouse Server (analytic DBMS for big data)
Loaded: loaded (/usr/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2026-03-31 10:00:00 CST; 1min ago
Process: 12345 ExecStartPre=/usr/bin/clickhouse-server –pid-file=/run/clickhouse-server/clickhouse-server.pid –config=/etc/clickhouse-server/config.xml –dry-run (code=exited, status=0/SUCCESS)
Process: 12346 ExecStart=/usr/bin/clickhouse-server –pid-file=/run/clickhouse-server/clickhouse-server.pid –config=/etc/clickhouse-server/config.xml (code=exited, status=0/SUCCESS)
Main PID: 12347 (clickhouse-serve)
Status: “Ready for connections”
Tasks: 30 (limit: 4915)
Memory: 76.0M
CGroup: /system.slice/clickhouse-server.service
└─12347 /usr/bin/clickhouse-server –pid-file=/run/clickhouse-server/clickhouse-server.pid –config=/etc/clickhouse-server/config.xml
5. 数据库配置
配置ClickHouse数据库,包括网络设置、内存配置等。
# vi /etc/clickhouse-server/config.xml
# 内存配置
# vi /etc/clickhouse-server/users.xml
# 重启ClickHouse服务
# systemctl restart clickhouse-server
6. 测试验证
连接ClickHouse并验证功能正常。学习交流加群风哥QQ113257174
# clickhouse-client
# 测试查询
ClickHouse client version 22.8.13.6 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 22.8.13 revision 54460.
fgedudb 🙂 CREATE DATABASE test;
fgedudb 🙂 USE test;
fgedudb 🙂 CREATE TABLE test_table (id Int32, name String) ENGINE = MergeTree ORDER BY id;
fgedudb 🙂 INSERT INTO test_table VALUES (1, ‘test’);
fgedudb 🙂 SELECT * FROM test_table;
┌─id─┬─name─┐
│ 1 │ test │
└────┴──────┘
# 检查服务状态
# systemctl status clickhouse-server
7. 备份配置
配置ClickHouse备份策略,确保数据安全。
# pip3 install clickhouse-backup
# 配置备份
# clickhouse-backup config create
# 执行备份
# clickhouse-backup create
# 查看备份
# clickhouse-backup list
# 创建备份目录
# mkdir -p /backup/clickhouse
# 配置自动备份
# 创建备份脚本
# vi /root/backup_clickhouse.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/clickhouse/$DATE”
# 创建备份目录
mkdir -p $BACKUP_DIR
# 执行备份
clickhouse-backup create $DATE
# 复制备份到存储目录
cp -r /var/lib/clickhouse/backup/* $BACKUP_DIR/
# 给脚本添加执行权限
# chmod +x /root/backup_clickhouse.sh
# 添加到crontab
# crontab -e
# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_clickhouse.sh
8. 升级迁移
ClickHouse的升级和迁移过程。
# 1. 备份配置和数据
# /root/backup_clickhouse.sh
# 2. 停止ClickHouse服务
# systemctl stop clickhouse-server
# 3. 升级ClickHouse
# dnf update -y clickhouse-server clickhouse-client
# 4. 启动ClickHouse服务
# systemctl start clickhouse-server
# 5. 验证升级结果
# clickhouse-client –version
ClickHouse client version 22.8.13.6 (official build).
# 从旧版本ClickHouse迁移到ClickHouse 22.8.13
# 1. 在旧系统上导出数据
# 导出数据库列表
# clickhouse-client –query “SHOW DATABASES” > databases.txt
# 导出表结构和数据
while read db; do
if [ “$db” != “system” ]; then
clickhouse-client –query “SHOW TABLES FROM $db” > ${db}_tables.txt
while read table; do
clickhouse-client –query “SHOW CREATE TABLE $db.$table” > ${db}_${table}.sql
clickhouse-client –query “SELECT * FROM $db.$table” INTO OUTFILE “${db}_${table}.tsv”
done < ${db}_tables.txt
fi
done < databases.txt
# 2. 将备份文件复制到新系统
# scp -r *.txt *.sql *.tsv root@new-server:/backup/clickhouse/
# 3. 在新系统上恢复数据
# 创建数据库
while read db; do
if [ "$db" != "system" ]; then
clickhouse-client --query "CREATE DATABASE IF NOT EXISTS $db"
fi
done < databases.txt
# 创建表并导入数据
while read db; do
if [ "$db" != "system" ]; then
while read table; do
clickhouse-client --query "$(cat ${db}_${table}.sql)"
clickhouse-client --query "INSERT INTO $db.$table FORMAT TSV" < ${db}_${table}.tsv
done < ${db}_tables.txt
fi
done < databases.txt
9. 总结
本文详细介绍了clickhouse 22.8.13 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署ClickHouse服务并确保其稳定运行。from:fengge
– 定期备份ClickHouse数据和配置,建议每天执行一次全备份
– 监控ClickHouse性能,定期检查服务状态和日志
– 定期更新ClickHouse版本,确保系统安全性和性能
– 合理规划ClickHouse存储,避免空间不足
– 配置合适的参数,优化ClickHouse性能
– 对于生产环境,建议部署多节点集群,提高可用性和可靠性
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
