部署 ClickHouse 6节点集群(3分片2副本)
环境设置
我们将在以下服务器上部署 ClickHouse 集群,每个节点的IP地址如下:
公网IP地址和主机名:
x.x.x.x node-1
x.x.x.x node-2
x.x.x.x node-3
x.x.x.x node-4
x.x.x.x node-5
x.x.x.x node-6
内网IP地址和主机名:
10.0.0.2 node-1
10.0.0.3 node-2
10.0.0.4 node-3
10.0.0.6 node-4
10.0.0.7 node-5
10.0.0.8 node-6
前期准备
- 更新Centos系统并创建新用户:
dnf update
useradd clickhouse
passwd clickhouse
usermod -aG wheel clickhouse
visudo
## 在visudo编辑器中,添加以下内容:
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
su clickhouse
- 添加 SSH 公钥:
vi ~/.ssh/authorized_keys
- 编辑
/etc/hosts文件,添加所有节点的主机名和IP地址映射:
vi /etc/hosts
挂载数据盘
在每个节点上,挂载新的数据盘用于 ClickHouse 数据存储。以 node-6 为例:
sudo mount --bind /mnt/data_volume /var/lib/clickhouse/
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse
sudo chown -R root:root /var/lib/clickhouse/lost+found/
其他节点类似,具体命令请根据实际数据盘路径调整。
配置 ClickHouse
在每个节点上,编辑 ClickHouse 配置文件:
- 编辑用户配置
/etc/clickhouse-server/users.xml,添加新的用户:
<users>
<default>
...snip...
</default>
<admin>
<password>admin_password</password>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</admin>
</users>
- 编辑主配置文件
/etc/clickhouse-server/config.xml:
在 node-1 上:
<listen_host>::</listen_host>
<macros>
<shard>01</shard>
<replica>01</replica>
</macros>
<prometheus>
<endpoint>/metrics</endpoint>
<port>9363</port>
<metrics>true</metrics>
<events>true</events>
<asynchronous_metrics>true</asynchronous_metrics>
<status_info>true</status_info>
</prometheus>
<zookeeper>
<node>
<host>node-1</host>
<port>2181</port>
</node>
<node>
<host>node-2</host>
<port>2181</port>
</node>
<node>
<host>node-3</host>
<port>2181</port>
</node>
</zookeeper>
<remote_servers>
<cluster>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>node-1</host>
<port>9000</port>
</replica>
<replica>
<host>node-2</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>node-3</host>
<port>9000</port>
</replica>
<replica>
<host>node-4</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>node-5</host>
<port>9000</port>
</replica>
<replica>
<host>node-6</host>
<port>9000</port>
</replica>
</shard>
</cluster>
</remote_servers>
其他节点根据以下模板进行调整:
在 node-2 上:
<listen_host>::</listen_host>
<macros>
<shard>01</shard>
<replica>02</replica>
</macros>
在 node-3 上:
<listen_host>::</listen_host>
<macros>
<shard>02</shard>
<replica>01</replica>
</macros>
在 node-4 上:
<listen_host>::</listen_host>
<macros>
<shard>02</shard>
<replica>02</replica>
</macros>
在 node-5 上:
<listen_host>::</listen_host>
<macros>
<shard>03</shard>
<replica>01</replica>
</macros>
在 node-6 上:
<listen_host>::</listen_host>
<macros>
<shard>03</shard>
<replica>02</replica>
</macros>
启动 ClickHouse
- 停止 ClickHouse 服务:
sudo systemctl stop clickhouse-server
- 确认挂载数据盘:
sudo mount --bind /mnt/data_volume /var/lib/clickhouse/
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse
sudo chown -R root:root /var/lib/clickhouse/lost+found/
- 启用并启动 ClickHouse 服务:
sudo systemctl enable clickhouse-server
sudo systemctl start clickhouse-server
- 检查 ClickHouse 服务状态:
sudo systemctl status clickhouse-server
配置节点角色
在每个节点上分别设置分片和副本角色:
node-1 10.0.0.2 shard=01, replica=01
node-2 10.0.0.3 shard=01, replica=02
node-3 10.0.0.4 shard=02, replica=01
node-4 10.0.0.6 shard=02, replica=02
node-5 10.0.0.7 shard=03, replica=01
node-6 10.0.0.8 shard=03, replica=02
至此,ClickHouse 6节点集群已成功部署完毕。

&spm=1001.2101.3001.5002&articleId=140717577&d=1&t=3&u=e671a25873624f59a54ec65a7b275a00)
1194

被折叠的 条评论
为什么被折叠?



