大数据-134 ClickHouse 单机+集群节点落地手册 | 安装配置 | systemd 管理 / config.d
TL;DR
- 场景:Ubuntu 上快速装 ClickHouse,先跑通单机,再搭 3 节点集群。
- 结论:使用官方源 + signed-by 方式安装;用 systemd 管服务,别手动 sudo -u clickhouse clickhouse-server;集群建议用 ClickHouse Keeper 替代 ZooKeeper。
- 产出:一键安装脚本、单机 MRE(3 分钟)
最小可运行示例
# 1) 依赖 & keyring
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
curl -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 update
sudo apt-get install -y clickhouse-server clickhouse-client
启动与开机自启
sudo systemctl enable --now clickhouse-server
sudo systemctl status clickhouse-server --no-pager
单机安装
Ubuntu 服务器安装步骤:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
echo "deb https://repo.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
默认的密码路径是:/etc/clickhouse-server/users.d/default-password.xml
配置权限
sudo chown -R clickhouse:clickhouse /etc/clickhouse-server
sudo chmod -R 755 /etc/clickhouse-server
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse
sudo chmod -R 755 /var/lib/clickhouse
单机测试
启动 ClickServer:
sudo -u clickhouse clickhouse-server
启动 ClickClient:
clickhouse-client -m
集群安装
集群节点
- h121 2C4G
- h122 2C4G
- h123 2C4G
配置文件
config.xml
修改 /etc/clickhouse-server/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
创建 /etc/clickhouse-server/config.d/metrika.xml:
<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
修改密码
修改 /etc/clickhouse-server/users.d/default-password.xml:
<clickhouse>
<users>
<default>
<password>clickhouse@wzk.icu</password>
<networks>
<ip>::/0</ip>
</networks>
</default>
</users>
</clickhouse>
启动测试
sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml
正式启动
systemctl start clickhouse-server
systemctl status clickhouse-server