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;

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

相关推荐
shan~~20 分钟前
linux达梦数据库操作
linux·数据库·chrome
liliangcsdn28 分钟前
LLM时代基于unstructured解析非结构化pdf
linux·服务器·数据分析
Codigger官方1 小时前
Linux 基金会牵头成立 React 基金会:前端开源生态迎来里程碑式变革
linux·前端·react.js
武文斌771 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
爱吃喵的鲤鱼1 小时前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
让子弹飞021 小时前
永久解决ubuntu网络连接问题
linux·运维·ubuntu
郝学胜-神的一滴2 小时前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程
七七七七073 小时前
【Linux 系统】打开文件和文件系统
linux·运维·spring
DeeplyMind3 小时前
第二章:模块的编译与运行-7 Loading and Unloading Modules
linux·驱动开发
---学无止境---4 小时前
Linux中驱动程序通过fasync异步通知应用程序的实现
linux