来源:互联网 | 时间:2026-04-01 10:20:33
CentOS 7部署ClickHouse:从安装到安全配置实战指南在数据分析的赛道上,ClickHouse这个名字近年来可谓是风头正劲。这个由俄罗斯搜索引擎巨头Yandex(其地位相当于国内的百度)在2016年开源的列式数据库,诞生之初就是
在数据分析的赛道上,ClickHouse这个名字近年来可谓是风头正劲。这个由俄罗斯搜索引擎巨头Yandex(其地位相当于国内的百度)在2016年开源的列式数据库,诞生之初就是为了解决海量数据在线分析处理(OLAP)的难题,核心驱动力正是其自家的网站分析服务Yandex.Metrica(类似于百度统计)。凭借其卓越的查询性能,ClickHouse迅速赢得了市场的青睐,在国内各大互联网公司的生产环境中也占据了一席之地。
它的社区活跃度更是其受欢迎程度的直接证明:自开源以来,GitHub上的星标数一路攀升,如今已超过13.9k,热度可见一斑。

俗话说,工欲善其事,必先利其器。开始之前,请确保你手头有一台腾讯云的CentOS 7服务器,并计划安装ClickHouse 20.5.2版本。准备好了吗?那咱们就一步步来。
第一步,得先把“工具箱”准备好。系统通常自带curl,但为了保险起见,咱们先安装一下,然后用它来添加ClickHouse的官方软件源。
yum install -y curl # 添加clickhouse源 curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | bash
源配置好了,接下来就是安装服务端和客户端了。这个过程可能需要耐心等待几分钟,网络情况好的话会很快。
yum install -y clickhouse-server clickhouse-client # 检查是否安装成功 yum list installed 'clickhouse*' # 启动clickhouse服务 systemctl start clickhouse # 进入CLI,启动clickhouse客户端 clickhouse-client
执行完最后一条命令,如果终端顺利进入交互界面,看到欢迎信息,那就恭喜你,ClickHouse的核心服务已经跑起来了!

安装完成后,有必要了解一下它的“家当”都放在哪儿,以后排查问题或优化配置会方便很多。
/etc/clickhouse-server:这是服务端的“大脑”,所有核心配置文件都在这,包括全局的config.xml和管用户权限的users.xml。
/var/lib/clickhouse:默认的“仓库”,所有数据都存储于此。生产环境如果数据量巨大,强烈建议把这个路径修改到大容量磁盘上。具体操作就是去编辑config.xml文件里的
/var/log/clickhouse-server:系统的“日记本”,运行日志都在这里。同样可以在config.xml里通过
/etc/cron.d/clickhouse-server:一个贴心的“守护进程”,这是个定时任务配置,用于在服务异常中断后自动恢复进程。
~/.clickhouse-client-history (隐藏文件):你的“操作记录”,所有在交互式命令行里执行过的SQL历史都会被保存于此,用`ll -a`命令就能看到它。

现在客户端是启动了,但你会发现个问题:它没有任何密码验证,谁都能连上来。这在生产环境可是个大隐患,所以接下来必须给数据库大门加上一把“锁”。
ClickHouse支持两种密码格式:直接写明文,或者存储加密后的SHA256哈希值。从安全角度出发,官方强烈推荐后者。如何生成呢?一条命令就能搞定:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'

命令执行后,会返回两行信息:第一行是自动生成的随机明文密码(务必记下来),第二行就是对应的密文。咱们要用的就是这个密文。
接下来,找到ClickHouse的用户配置文件,默认路径是 /etc/clickhouse-server/users.xml。用编辑器打开它,定位到
这里需要做个小手术:将
这里填入你生成的密码密文
密码设置好后,再通过命令行连接时,就需要带上认证信息了:
clickhouse-client -h 你的服务器IP地址 -d default -m -u default --password 你记录的明文密码
当然,更常用的方式可能是通过DataGrip这类图形化数据库工具来连接,用户名填“default”,密码填刚才生成的明文密码即可。
如果你需要从其他机器访问这台服务器的ClickHouse,还得配置一下监听地址。编辑 /etc/clickhouse-server/config.xml 文件,找到
0.0.0.0
修改完配置,别忘了重启服务让更改生效:
systemctl restart clickhouse-server
一切配置妥当,现在打开DataGrip,新建一个ClickHouse数据源,填入服务器地址、用户名(default)和密码。

连接成功后,咱们在default数据库下创建一张测试表,验证一下整个流程是否完全跑通:
create table table1(
userId Int32,
appId String,
version String,
regTime Date
)
engine = MergeTree PARTITION BY toYYYYMM(regTime) ORDER BY userId SETTINGS index_granularity = 8192;
看到表成功创建,就意味着你的ClickHouse已经整装待发,可以投入使用了!

在整个部署过程中,如果遇到问题,Altinity提供的官方RPM安装文档是一个非常有价值的参考。
至此,关于在CentOS 7系统上安装ClickHouse并完成基础安全配置的完整指南就告一段落了。希望这份详实的步骤能帮助你顺利搭建起高性能的数据分析环境。