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;

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

相关推荐
susplus5 分钟前
【linux应用软件编程】进程间的通信方式2【网络通信从入门到UDP编程】
linux·udp·ip
MSTcheng.5 分钟前
【Linux】Linux学习第三弹——Linux基本指令2
linux·windows·学习·ubuntu·操作系统
希望奇迹很安静11 分钟前
Linux基本使用命令
linux·运维·服务器
邪修king17 分钟前
Re:Linux 系统篇(十七):进程篇(六):环境变量深度解析|命令行参数、环境变量表、4 种获取方式与继承机制万字详解
linux·服务器·c++
张小姐的猫43 分钟前
【C++开发脚手架】 —— Jsoncpp上手
java·linux·开发语言·网络·c++·tcp/ip·udp
昌原的儿子LEO1 小时前
Linux网络编程:TCP/UDP与HTTP协议核心笔记
linux·网络·tcp/ip
好评1241 小时前
【Linux】应用层协议HTTP
linux·运维·http
M78佐菲9 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx10 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做10 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git