CentOS Stream 9 搭建三节点Clickhouse集群

安装前准备

修改配置

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

修改主机名

bash 复制代码
<interserver_http_host>主机名</interserver_http_host>

自定义集群名称

bash 复制代码
<!-- 修改remote_servers中的内容如下 -->
<remote_servers>
    <!-- 可自定义clickhouse集群名 -->
    <ck_cluster>  
        <!-- 数据分片1  -->
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>192.168.225.135</host><!-- 服务器01的IP -->
                <port>6000</port>   <!-- 注意端口,默认9000 -->
            </replica>
        </shard>
        <!-- 数据分片2  -->
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>192.168.225.137</host><!-- 服务器02的IP -->
                <port>6000</port>   <!-- 注意端口,默认9000 -->
            </replica>
        </shard>
        <!-- 数据分片3  -->
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>192.168.225.138</host><!-- 服务器03的IP -->
                <port>6000</port>   <!-- 注意端口,默认9000 -->
            </replica>
        </shard>
    </ck_cluster>
</remote_servers>

修改macros

bash 复制代码
<macros>
    <layer>ck_cluster</layer><!-- 上述配置的集群名称 -->
    <shard>01</shard><!-- 分别为01,02,03 -->
    <replica>10.35.36.176</replica><!-- 服务器03的IP -->
</macros>

注:每个机器shard分别为01,02,03,replica也为对应服务器IP

Zookeeper集群配置

bash 复制代码
<zookeeper>
    <!-- index内容为server.xxx:ip:2888:3888中的xxx -->
    <node index="1">
        <host>192.168.225.135</host>
        <port>2181</port>
    </node>
    <node index="2">
        <host>192.168.225.137</host>
        <port>2181</port>
    </node>
    <node index="3">
        <host>192.168.225.138</host>
        <port>2181</port>
    </node>
</zookeeper>

启动Clickhouse集群

三台机器挨个启动clickhouse服务

bash 复制代码
systemctl start clickhouse-server

查看clickhouse服务状态

bash 复制代码
systemctl status clickhouse-server

集群验证

输入clickhouse-client,然后输入单机部署的时候输入的密码,再输入

bash 复制代码
select * from system.clusters;

出来如下信息即表示集群部署成功

相关推荐
Clownseven15 分钟前
Linux服务器健康检查Shell脚本:一键生成自动化巡检报告
linux·服务器·自动化
时间裂缝里的猫-O-1 小时前
@Linux问题 :bash fork Cannot allocate memory 错误分析与解决方案
linux·chrome·bash
躺不平的小刘1 小时前
从YOLOv5到RKNN:零冲突转换YOLOv5模型至RK3588 NPU全指南
linux·python·嵌入式硬件·yolo·conda·pyqt·pip
愚昧之山绝望之谷开悟之坡1 小时前
| `cat /etc/os-release` | 发行版详细信息(如 Ubuntu、CentOS) |
linux·ubuntu·centos
明天见~~3 小时前
Linux下的网络编程
linux·运维·网络
NEXU53 小时前
Linux:网络层IP协议
linux·网络·tcp/ip
Aczone283 小时前
Linux 软件编程(九)网络编程:IP、端口与 UDP 套接字
linux·网络·网络协议·tcp/ip·http·c#
倔强的石头_3 小时前
【Linux指南】Makefile入门:从概念到基础语法
linux
Code_Dragon3 小时前
最近遇到的bug
linux·前端
武文斌773 小时前
计算机网络:网络基础、TCP编程
linux·网络·网络协议·tcp/ip·计算机网络