OLAP系列:二、clickhouse集群部署指南(3分片1副本模式)

本文详细介绍了如何在CentOS环境下进行ClickHouse的集群部署,包括Zookeeper集群的安装、单机安装以及3分片1副本的集群配置。通过配置remote_servers和zookeeper节点,实现ClickHouse的分布式存储和数据复制。在每台服务器上配置不同的metrika.xml文件,并启动服务后,通过客户端验证集群配置成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言:

上篇文章介绍了clickhouse单机部署指南,本章重点介绍下集群部署指南,文章重在实战,相关知识请自行学习。

二、环境准备:

CentOS7 4核16G 3台(172.25.16.82、172.25.16.83、172.25.16.84)

三、安装包准备:

登录官网下载:https://packages.clickhouse.com/tgz/lts/

clickhouse-common-static-22.8.9.24-amd64.tgz
clickhouse-common-static-dbg-22.8.9.24-amd64.tgz
clickhouse-server-22.8.9.24-amd64.tgz
clickhouse-client-22.8.9.24-amd64.tgz

四、安装步骤说明:

1、依赖环境安装

参考文章(zookeeper集群安装指南_幽幽之心的博客-CSDN博客)完成zookeeper的集群安装部署

2、单机安装

参考文章(OLAP分析型数据库clickhouse的选型、安装与试用_幽幽之心的博客-CSDN博客)分别完成三台服务器的单机部署

3、集群配置(3分片+每分片1副本)

3个服务节点增加配置文件 【/etc/clickhouse-server/config.d】

vim /etc/clickhouse-server/config.d/metrika.xml

在metrika.xml中我们配置后期使用的clickhouse集群中创建分布式表时使用3个分片,每个分片有1个副本,配置如下:

<yandex>
    <remote_servers>
        <clickhouse_cluster_3shards_1replicas>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>172.25.16.82</host>
                    <port>9000</port>
                </replica>
            </shard>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>172.25.16.83</host>
                    <port>9000</port>
                </replica>
            </shard>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>172.25.16.84</host>
                    <port>9000</port>
                </replica>
            </shard>
        </clickhouse_cluster_3shards_1replicas>
    </remote_servers>
   
    <zookeeper>
        <node index="1">
            <host>172.25.16.82</host>
            <port>2181</port>
        </node>
        <node index="2">
            <host>172.25.16.83</host>
            <port>2181</port>
        </node>
        <node index="3">
            <host>172.25.16.84</host>
            <port>2181</port>
        </node>
    </zookeeper>
    <macros>
        <shard>01</shard> 
        <replica>node1</replica>
    </macros>
    <networks>
        <ip>0.0.0.0/0</ip>
    </networks>
    <clickhouse_compression>
        <case>
            <min_part_size>10000000000</min_part_size>
            <min_part_size_ratio>0.01</min_part_size_ratio>
            <method>lz4</method>
        </case>
    </clickhouse_compression>
</yandex>

注意:需要在每台clickhouse节点上配置metrika.xml文件,并且修改每个节点的 macros配置名称。

 node2节点修改metrika.xml中的宏变量如下:

    <macros>
        <shard>02</replica> 
        <replica>node2</replica>
    </macros>

node3节点修改metrika.xml中的宏变量如下:

    <macros>
        <shard>03</replica> 
        <replica>node3</replica>
    </macros>

4、集群配置文件引用

修改config.xml配置(注意修改文件权限)

vim /etc/clickhouse-server/config.xml

添加内容:

<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from> <!--添加该参数-->

5、服务启动

分别登录三台机器切换至clickhouse用户,启动服务

# -- Start clickhouse-server with:
sudo clickhouse start

6、客户端访问验证

# -- Start clickhouse-client with:
clickhouse-client --password 123456

# -- 输入查询命令
SELECT * FROM system.clusters

效果如下:

参考文献资料:

 集群部署ClickHouse

 ClickHouse集群搭建部署_clickhouse集群部署_疯狂哈丘的博客-CSDN博客

在Ubuntu 22.04上部署ClickHouse集群,需要经过几个关键步骤。这里提供一个简化的指南,假设你已经具备基本的网络配置和权限设置: 1. 安装基础环境: - 更新系统: ``` sudo apt update sudo apt upgrade ``` - 添加ClickHouse官方源: ```bash wget https://repo.clickhouse.yandex.com/debian/gpg/pool/main/c/clickhouse-server/clickhouse-server.gpg -O - | sudo apt-key add - echo "deb [arch=amd64] https://repo.clickhouse.yandex.com/debian/22.3/ main" | sudo tee /etc/apt/sources.list.d/clickhouse.list ``` 2. 安装ClickHouse: - 更新软件包列表并安装: ``` sudo apt update sudo apt install clickhouse-server clickhouse-client -y ``` 3. 配置集群(如果有多服务器): - 为每服务器创建不同的数据目录,并在`/etc/clickhouse-server/config.xml`文件中设置集群: ``` <zookeeper> <server_list>...</server_list> <!-- 根据实际IP填写 --> </zookeeper> <replica> <shard> <replica_to>=<replica_1>,<replica_2>,...<replica_n> <!-- 根据实际IP填写副本名称 --> </shard> </replica> ``` 4. 设置集群成员身份: - 对于每个节点,运行`clickhouse-server`启动命令前添加 `-Dcluster=<cluster_name>` 参数。 5. 启动和监控服务: - 启动ClickHouse服务: ``` sudo systemctl start clickhouse-server sudo systemctl enable clickhouse-server ``` 6. 验证集群状态: - 使用`clickhouse-client`连接到任一节点并检查集群信息。 7. 高可用性和故障恢复: - 可能还需要安装HAProxy或其他负载均衡工具,以及定期备份数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值