ClickHouse集群部署与管理从0到1的实战指南前言作为一个在数据深渊里捞了十几年 Bug 的女码农我深知集群部署的重要性。ClickHouse 单机性能虽强但在处理海量数据时集群部署是必然选择。今天我就来聊聊 ClickHouse 集群的部署与管理从硬件准备到日常运维带你构建一个高可用、高性能的 ClickHouse 集群。一、集群部署准备1.1 硬件要求ClickHouse 对硬件的要求相对较高尤其是内存和存储CPU至少 8 核推荐 16 核以上内存至少 16GB推荐 32GB 以上存储SSD 优先推荐 NVMe SSD网络万兆网络最低要求千兆1.2 网络配置集群节点间的网络通信对性能影响很大确保节点间网络延迟低配置固定 IP 地址关闭防火墙或开放必要端口默认 9000、8123、90091.3 操作系统准备推荐使用 Linux 系统如 CentOS 7 或 Ubuntu 18.04# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭 SELinux sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config setenforce 0 # 调整系统参数 cat /etc/sysctl.conf EOF net.core.somaxconn 4096 vm.swappiness 10 EOF sysctl -p二、集群部署步骤2.1 安装 ClickHouse在所有节点上安装 ClickHouse# 添加 ClickHouse 仓库 curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash # 安装 ClickHouse 服务和客户端 sudo yum install -y clickhouse-server clickhouse-client # 启动服务 sudo systemctl start clickhouse-server sudo systemctl enable clickhouse-server2.2 配置集群编辑配置文件/etc/clickhouse-server/config.xmlclickhouse listen_host0.0.0.0/listen_host remote_servers my_cluster shard internal_replicationtrue/internal_replication replica hostnode1/host port9000/port /replica replica hostnode2/host port9000/port /replica /shard shard internal_replicationtrue/internal_replication replica hostnode3/host port9000/port /replica