生产环境应使用官方仓库安装clickhouse并由systemd管理,禁用curl|sh脚本和源码编译;需完成加源、设密码、调高limits、关闭selinux、修改max_threads与max_memory_usage五项关键配置,且必须重启服务生效。

直接上生产环境可用的安装方式:用官方仓库 + systemd 管理,别碰源码编译(除非你真要改内核逻辑),也别用 curl | sh 脚本(它不设密码、不配 limits、不处理 SELinux,上线即踩坑)。
为什么不用 curl https://clickhouse.com/ | sh
这个脚本确实三秒装完,但它默认创建无密码的 default 用户,监听 127.0.0.1:9000,不写入 /etc/security/limits.conf,也不关 SELinux。你连不上、查不动、一并发就 Too many open files,全是它埋的雷。
- 它绕过包管理器,升级/卸载/依赖追踪全失效
- 服务不是 systemd 单元,
systemctl status clickhouse-server找不到进程 - 日志默认输出到终端,没落盘,
journalctl -u clickhouse-server查不到任何东西
Ubuntu/Debian 正确安装步骤(含关键配置)
必须执行这五步,缺一不可:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 加源并信任 GPG 密钥:
sudo apt-get install apt-transport-https ca-certificates dirmngr && sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 && 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(安装过程会提示设default密码,**必须输,不能回车跳过**) - 调高系统限制:在
/etc/security/limits.conf末尾加两行:* soft nofile 65536和* hard nofile 65536,然后重启或重登生效 - 确认 SELinux 状态(Ubuntu 默认禁用,跳过;但若你用的是 Ubuntu on WSL 或自定义内核,检查
sestatus,非 disabled 就得关) - 启动并验证:
sudo systemctl start clickhouse-server && sudo systemctl status clickhouse-server,看到active (running)后再试clickhouse-client -u default --password 'your_password'
RPM 系统(CentOS/Rocky/AlmaLinux)的三个硬性动作
YUM/DNF 安装看似简单,但有三个地方不手动干预必挂:
-
sudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG必须先做,否则yum install会报 signature verification failed -
/etc/clickhouse-server/users.xml里默认只允许localhost连接,远程访问要改<networks><ip>::/0</ip></networks>,且必须重启服务才生效 - CentOS/RHEL 系统默认启用 SELinux,不关掉会导致
clickhouse-server启动失败且journalctl只显示 vague error —— 直接执行sudo setenforce 0并改/etc/selinux/config中的SELINUX=disabled
装完立刻要改的两个配置项
不管什么发行版,装完不调这两项,高并发下必然出问题:
-
/etc/clickhouse-server/config.xml中找到<max_threads></max_threads>,改成<max_threads>0</max_threads>(0 表示自动设为 CPU 核心数 × 2,比硬写数字更稳) -
/etc/clickhouse-server/users.xml中找到<default></default>用户段,在<profile></profile>下加一行:<max_memory_usage>10000000000</max_memory_usage>(10GB,防 OOM kill)
改完必须 sudo systemctl restart clickhouse-server,别信“热加载”——ClickHouse 不支持运行时 reload 这俩参数。










