在 Debian 上安装 ClickHouse 并开启远程访问
ClickHouse 是一款高性能的列式数据库,适合实时分析场景。本文演示如何在 Debian 系统中通过官方 APT 仓库安装 ClickHouse 服务器和客户端,并将监听地址修改为所有网络接口,使其可对外提供服务。
我用的是Debian 13,理论上仍在维护的LTS版本都可以使用,Ubuntu也可以使用一样的方法安装:
1. 更新系统并安装依赖
首先刷新软件包索引,并安装后续操作必需的工具。
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl gnupg
2. 添加 ClickHouse GPG 密钥
从官方地址下载仓库签名密钥,并转换为系统可用的格式,保存至 /usr/share/keyrings。
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | \ sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
注意:虽然 URL 中包含
rpm字样,但该密钥同时适用于 RPM 和 DEB 仓库。
3. 配置 APT 仓库
获取当前系统的架构(如 amd64、arm64),然后写入 ClickHouse 仓库配置。
ARCH=$(dpkg --print-architecture)
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${ARCH}] https://packages.clickhouse.com/deb stable main" | \
sudo tee /etc/apt/sources.list.d/clickhouse.list
该命令会生成 /etc/apt/sources.list.d/clickhouse.list 文件,并使用刚才导入的密钥进行签名验证。
4. 安装 ClickHouse 服务器和客户端
更新 APT 索引,然后安装 clickhouse-server 和 clickhouse-client。
sudo apt update sudo apt install -y clickhouse-server clickhouse-client
5. 启动服务并验证
使用 service 命令启动 ClickHouse,再运行客户端测试是否可登录。
sudo service clickhouse-server start clickhouse-client
若成功,你会看到类似 :) 的交互式提示符,输入 exit 可退出。
6. 配置远程访问(监听所有 IP)
默认情况下 ClickHouse 仅监听本地回环地址,外部无法连接。需要创建自定义配置文件来调整监听地址。
bash
sudo mkdir -p /etc/clickhouse-server/config.d sudo vim /etc/clickhouse-server/config.d/listen_all.xml
在文件中写入如下内容,保存退出:
<clickhouse> <listen_host>::</listen_host> </clickhouse>
::表示监听所有 IPv6 地址(同时也会因为 IPv4-mapped 机制接受 IPv4 连接,如果系统未禁用该特性)。- 如果希望明确监听所有 IPv4 和 IPv6,可以再增加一行
<listen_host>0.0.0.0</listen_host>,但本例使用::已能满足要求。
7. 重启 ClickHouse 并检查端口
配置完成后重启服务,使新监听地址生效。
bash
sudo systemctl restart clickhouse-server ss -tlnp | grep 8123
正常情况下,应能看到 0.0.0.0:8123 或 *:8123 或类似表示监听全部地址的输出,表明 HTTP 端口已开放。
安装完成!
在整个过程中,我们使用了官方 APT 源和 GPG 验证,保证了软件包的完整性与安全性。接下来可以根据业务需求进一步优化配置,比如调整内存限制、数据存储路径、启用压缩等。