第4章:ClickHouse安装与基础配置
好,咱们正式开始动手了。这一章我带你走一遍ClickHouse的安装流程,从RPM/DEB包安装,到核心配置文件的解读,再到服务启动验证。说白了,就是让你能跑起来一个可用的ClickHouse实例。
我在生产环境里装过不下百次ClickHouse,踩过的坑能写满一页A4纸。嗯,咱们今天就把这些经验一次性说清楚。
4.1 安装方式选择:RPM还是DEB?
ClickHouse官方提供了两种主流包格式:RPM(Red Hat系)和DEB(Debian系)。我个人习惯根据操作系统来选择:
- CentOS/RHEL 7/8 → 用RPM包
- Ubuntu 20.04/22.04 → 用DEB包
- Debian 10/11 → 用DEB包
你可能会问:能不能用tar.gz源码编译?当然可以,但我不建议。生产环境追求稳定和可维护性,包管理工具能帮你省很多事。
核心原则:能用包管理器就别手动编译。ClickHouse的二进制包已经做了充分的性能优化。
4.2 RPM包安装(CentOS/RHEL)
先添加官方YUM仓库。我记得第一次装的时候,忘了加GPG密钥,结果安装报错。你照着下面做就行:
# 添加ClickHouse官方仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
# 安装GPG密钥
sudo rpm --import https://packages.clickhouse.com/rpm/clickhouse.key
# 安装ClickHouse服务端和客户端
sudo yum install -y clickhouse-server clickhouse-client
# 检查安装版本
clickhouse-server --version
安装完成后,你会看到三个主要组件:
- clickhouse-server:核心数据库服务
- clickhouse-client:命令行客户端工具
- clickhouse-common-static:公共库文件(自动依赖安装)
小技巧:如果你在内网环境无法访问外网,可以提前下载好RPM包,用yum localinstall离线安装。我曾经在金融客户的内网环境就是这么干的。
4.3 DEB包安装(Ubuntu/Debian)
DEB系的安装流程类似,但仓库配置方式不同:
# 添加APT仓库
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
# 添加ClickHouse源
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
# 更新并安装
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
# 验证安装
clickhouse-server --version
安装过程中,系统会提示你设置默认用户密码。我建议你直接回车跳过,后续在配置文件中统一管理。
4.4 配置文件详解:config.xml
安装完成后,配置文件在/etc/clickhouse-server/目录下。两个核心文件:config.xml和users.xml。咱们先看config.xml。
这个文件是ClickHouse的主配置,控制服务行为。我挑几个关键配置讲:
| 配置项 | 默认值 | 说明 |
|---|---|---|
<path> |
/var/lib/clickhouse/ | 数据存储目录,建议挂载独立磁盘 |
<tmp_path> |
/var/lib/clickhouse/tmp/ | 临时文件目录,排序和聚合操作使用 |
<listen_host> |
127.0.0.1 | 监听地址,生产环境改为0.0.0.0 |
<http_port> |
8123 | HTTP接口端口 |
<tcp_port> |
9000 | 原生TCP协议端口 |
<max_memory_usage> |
10G | 单次查询最大内存,按机器配置调整 |
这里有个坑:<path>目录的权限。我曾经遇到过启动失败,查了半天发现是目录所有者不对。记住:
# 确保数据目录属于clickhouse用户
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse
注意:生产环境千万不要把<path>放在系统盘。ClickHouse的写入量很大,系统盘满了会导致整个服务器挂掉。我建议单独挂载SSD或NVMe磁盘。
4.5 配置文件详解:users.xml
users.xml管理用户和权限。默认有一个default用户,无密码。生产环境必须改:
<?xml version="1.0"?>
<clickhouse>
<users>
<default>
<password>你的强密码</password>
<networks>
<ip>::/0</ip> <!-- 允许所有IP,生产环境要限制 -->
</networks>
<profile>default</profile>
<quota>default</quota>
</default>
<admin>
<password_sha256_hex>加密后的密码</password_sha256_hex>
<networks>
<ip>10.0.0.0/8</ip>
</networks>
<profile>admin</profile>
<quota>admin</quota>
</admin>
</users>
</clickhouse>
我个人习惯创建两个用户:一个admin用于运维,一个readonly用于业务查询。密码用SHA256加密存储,别用明文。
生成SHA256密码的方法:
# 在ClickHouse客户端中生成
SELECT hex(SHA256('你的密码'));
4.6 服务启动与验证
配置改好了,咱们启动服务:
# 启动ClickHouse服务
sudo systemctl start clickhouse-server
# 设置开机自启
sudo systemctl enable clickhouse-server
# 查看服务状态
sudo systemctl status clickhouse-server
如果一切正常,你会看到active (running)的状态。接下来验证连接:
# 使用客户端连接
clickhouse-client -h 127.0.0.1 -u default --password 你的密码
# 执行一条简单查询
SELECT version(), now(), hostname();
看到类似这样的输出,就说明安装成功了:
┌─version()─┬───────────────now()─┬─hostname()─┐
│ 24.3.2.23 │ 2025-01-15 10:30:45 │ clickhouse1 │
└───────────┴─────────────────────┴────────────┘
验证清单:
- ✓ 服务状态为active (running)
- ✓ 客户端能正常连接
- ✓ 能执行SELECT查询
- ✓ 日志文件无ERROR级别报错(日志在/var/log/clickhouse-server/)
4.7 本章知识体系
下面这张图帮你梳理安装配置的核心流程:
这张图把安装配置分成了三个步骤:安装、配置、启动。每个步骤都有对应的关键操作。你照着这个流程走,基本不会出大问题。
一句话总结:安装选对包格式,配置改好路径和密码,启动后验证连接。这三步走完,你的ClickHouse就能用了。
公众号:蓝海资料掘金营,微信deep3321