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;

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

相关推荐
扛枪的书生20 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo5 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者7 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh