写点什么

大数据 -134 ClickHouse 单机 + 集群节点落地手册 | 安装配置 | systemd 管理 / config.d

作者:武子康
  • 2025-10-24
    山东
  • 本文字数:3102 字

    阅读完需:约 10 分钟

大数据-134 ClickHouse 单机+集群节点落地手册 | 安装配置 | systemd 管理 / config.d

TL;DR

  • 场景:Ubuntu 上快速装 ClickHouse,先跑通单机,再搭 3 节点集群。

  • 结论:使用官方源 + signed-by 方式安装;用 systemd 管服务,别手动 sudo -u clickhouse clickhouse-server;集群建议用 ClickHouse Keeper 替代 ZooKeeper。

  • 产出:一键安装脚本、单机 MRE(3 分钟)



官网网站

https://clickhouse.com/
复制代码

最小可运行示例

# 1) 依赖 & keyringsudo apt-get install -y apt-transport-https ca-certificates curl gnupgcurl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' \  | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
# 2) 源(stable 或 lts 二选一)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
sudo apt-get updatesudo apt-get install -y clickhouse-server clickhouse-client
复制代码


启动与开机自启


sudo systemctl enable --now clickhouse-serversudo systemctl status clickhouse-server --no-pager
复制代码

单机安装

我是 Ubuntu 的服务器:


sudo apt-get updatesudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list
sudo apt-get updatesudo apt-get install -y clickhouse-server clickhouse-client
复制代码


等待安装 ClickHouse



等待之后,可以看到已经顺利的安装完毕:



默认的密码路径是:


/etc/clickhouse-server/users.d/default-password.xml
复制代码

配置权限

不配置后续可能会报错


sudo chown -R clickhouse:clickhouse /etc/clickhouse-serversudo chmod -R 755 /etc/clickhouse-serversudo chown -R clickhouse:clickhouse /var/lib/clickhousesudo chmod -R 755 /var/lib/clickhouse
复制代码

单机测试

启动 ClickServer


sudo -u clickhouse clickhouse-server
复制代码


启动 ClickClient

clickhouse-client -m
复制代码


集群安装

集群安装

目前我有的节点是三台:


  • h121 2C4G

  • h122 2C4G

  • h123 2C4G 刚才单机安装是在 h121 节点上,我们需要对三台云服务都执行相应的 Shell:


sudo apt-get updatesudo apt-get install -y apt-transport-https ca-certificates dirmngrsudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.listsudo apt-get updatesudo apt-get install -y clickhouse-server clickhouse-client
复制代码

停止服务

我们需要停止之前的服务,来空出一定的内存和端口给 ClickHouse 使用。(如果你的内存比较富裕可以忽略)只保留 ZooKeeper 即可,其他服务可以都关闭掉。比如 Hadoop 集群、Kafka 集群、Redis 集群等。


配置文件

config.xml

我们需要三台云服务器都修改 config.xml


cd /etc/clickhouse-servervim config.xml
复制代码


修改如下内容:


<!-- Path to data directory, with trailing slash. --><path>/var/lib/clickhouse/</path>
复制代码



开放远程访问,允许所有连接:


<listen_host>::</listen_host>
复制代码



在根标签下加入内容(我是放入了头部):


<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>
复制代码


内容修改为如下的样子:


metrika.xml

cd /etc/clickhouse-server/config.d# 该文件是新增的vim metrika.xml
复制代码


注意,下面的内容需要根据你的服务器 IP 来进行配置:


<yandex>  <remote_servers>    <perftest_3shards_1replicas>      <shard>        <internal_replication>true</internal_replication>        <replica>          <host>h121.wzk.icu</host>          <port>9000</port>          <user>default</user>          <password>clickhouse@wzk.icu</password>        </replica>      </shard>      <shard>        <internal_replication>true</internal_replication>        <replica>          <host>h122.wzk.icu</host>          <port>9000</port>          <user>default</user>          <password>clickhouse@wzk.icu</password>        </replica>      </shard>      <shard>        <internal_replication>true</internal_replication>        <replica>          <host>h123.wzk.icu</host>          <port>9000</port>          <user>default</user>          <password>clickhouse@wzk.icu</password>        </replica>      </shard>    </perftest_3shards_1replicas>  </remote_servers>  <zookeeper-servers>    <node index="1">      <host>h121.wzk.icu</host>      <port>2181</port>    </node>    <node index="2">      <host>h122.wzk.icu</host>      <port>2181</port>    </node>    <node index="3">      <host>h123.wzk.icu</host>      <port>2181</port>    </node>  </zookeeper-servers>  <macros>    <shard>01</shard>    <replica>h121.wzk.icu</replica>  </macros>  <networks>    <ip>::/0</ip>  </networks>  <clickhouse_compression>    <case>      <min_part_size>10000000000</min_part_size>      <min_part_size_ratio>0.01</min_part_size_ratio>      <method>lz4</method>    </case>  </clickhouse_compression></yandex>
复制代码


保存之后,修改一下权限:


sudo chown -R clickhouse:clickhouse /etc/clickhouse-server/config.d/metrika.xml
复制代码

修改密码

vim /etc/clickhouse-server/users.d/default-password.xml
复制代码


为了测试方便,修改为如下的内容:


<clickhouse>    <users>        <default>            <password>clickhouse@wzk.icu</password>            <networks>                <ip>::/0</ip>            </networks>        </default>    </users></clickhouse>
复制代码


vim /etc/clickhouse-server/users.xml
复制代码


为了测试方便,修改的密码如下:


省略其他内容<password>clickhouse@wzk.icu</password>
复制代码

启动测试

sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml
复制代码

正式启动

我们需要编辑一下 system 的文件,来实现优化的启停


vim /etc/systemd/system/clickhouse-server.service
复制代码


可以看到,里边的配置已经在我们安装的时候就配置好了,你可以根据你的需要来修改:



接着我们使用系统命令启动:


systemctl start clickhouse-serversystemctl status clickhouse-server
复制代码


我们可以看到程序已经顺利的运行了:


其他系列

🚀 AI 篇持续更新中(长期更新)

AI 炼丹日志-29 - 字节跳动 DeerFlow 深度研究框斜体样式架 私有部署 测试上手 架构研究,持续打造实用 AI 工具指南!AI-调查研究-108-具身智能 机器人模型训练全流程详解:从预训练到强化学习与人类反馈🔗 AI模块直达链接

💻 Java 篇持续更新中(长期更新)

Java-154 深入浅出 MongoDB 用 Java 访问 MongoDB 数据库 从环境搭建到 CRUD 完整示例 MyBatis 已完结,Spring 已完结,Nginx 已完结,Tomcat 已完结,分布式服务正在更新!深入浅出助你打牢基础!🔗 Java模块直达链接

📊 大数据板块已完成多项干货更新(300 篇):

包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT 案例 详解🔗 大数据模块直达链接

发布于: 刚刚阅读数: 4
用户头像

武子康

关注

永远好奇 无限进步 2019-04-14 加入

Hi, I'm Zikang,好奇心驱动的探索者 | INTJ / INFJ 我热爱探索一切值得深究的事物。对技术、成长、效率、认知、人生有着持续的好奇心和行动力。 坚信「飞轮效应」,相信每一次微小的积累,终将带来深远的改变。

评论

发布
暂无评论
大数据-134 ClickHouse 单机+集群节点落地手册 | 安装配置 | systemd 管理 / config.d_大数据_武子康_InfoQ写作社区