1. 首页 > 软件安装教程 > 正文

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

生产环境建议:ClickHouse建议内存32GB以上,CPU 8核心以上,磁盘空间500GB以上。数据目录建议使用SSD,以提高性能。

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

风哥提示:ClickHouse安装需要root权限,建议使用root账户进行安装。

4. clickhouse软件安装

现在开始安装clickhouse 22.8.13软件,按照以下步骤进行。

# 安装ClickHouse
# 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数据库,包括网络设置、内存配置等。

# 编辑ClickHouse配置文件
# vi /etc/clickhouse-server/config.xml

0.0.0.0 8123
9000
9009 /var/lib/clickhouse/ /var/lib/clickhouse/tmp/
/var/lib/clickhouse/user_files/
/var/log/clickhouse-server/
/var/log/clickhouse-server/

# 内存配置
48G
40G
44G

# 编辑用户配置文件
# vi /etc/clickhouse-server/users.xml



default
::/0
default default


# 重启ClickHouse服务
# systemctl restart clickhouse-server

6. 测试验证

连接ClickHouse并验证功能正常。学习交流加群风哥QQ113257174

# 连接ClickHouse
# 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备份策略,确保数据安全。

# 安装clickhouse-backup工具
# 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的升级和迁移过程。

# 升级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

风哥提示:ClickHouse升级和迁移前,建议先在测试环境进行演练,确保升级过程顺利。同时,备份所有重要数据,以防万一。

9. 总结

本文详细介绍了clickhouse 22.8.13 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署ClickHouse服务并确保其稳定运行。from:fengge

生产环境建议:
– 定期备份ClickHouse数据和配置,建议每天执行一次全备份
– 监控ClickHouse性能,定期检查服务状态和日志
– 定期更新ClickHouse版本,确保系统安全性和性能
– 合理规划ClickHouse存储,避免空间不足
– 配置合适的参数,优化ClickHouse性能
– 对于生产环境,建议部署多节点集群,提高可用性和可靠性

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息