花糕

在 Debian 上安装 ClickHouse 并开启远程访问

20浏览 3小时前 科技综合 MA119432

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 仓库

获取当前系统的架构(如 amd64arm64),然后写入 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-serverclickhouse-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 验证,保证了软件包的完整性与安全性。接下来可以根据业务需求进一步优化配置,比如调整内存限制、数据存储路径、启用压缩等。

未经作者允许,禁止转载
#debian #clickhouse
10
10