【ClickHouse】副本、分片集群 (六)

副本
副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据。

https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/

副本写入流程
写入流程如图-18所示:
在这里插入图片描述

图-18 写入流程
配置步骤
1)启动zookeeper集群。
2)在hadoop101的/etc/clickhouse-server/config.d目录下创建一个名为metrika.xml的配置文件,内容如下:
注:也可以不创建外部文件,直接在config.xml中指定。

<?xml version="1.0"?>
<yandex>
<zookeeper-servers>
<node index="1">
<host>hadoop101</host>
<port>2181</port>
</node>
<node index="2">
<host>hadoop102</host>
<port>2181</port>
</node>
<node index="3">
<host>hadoop103</host>
<port>2181</port>
</node>
</zookeeper-servers>
</yandex>

3)同步到hadoop102和hadoop103上。

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

4)在hadoop101的/etc/clickhouse-server/config.xml中增加。

<zookeeper incl="zookeeper-servers" optional="true" />
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>

在这里插入图片描述

图-19 配置文件
5)同步到hadoop102和hadoop103上。

xsync /etc/clickhouse-server/config.xml

6)分别在hadoop102和hadoop103上启动ClickHouse服务。

clickhouse restart

注意:因为修改了配置文件,如果以前启动了服务需要重启。
注意:我们演示副本操作只需要在hadoop101和hadoop102两台服务器即可,上面的操作,我们hadoop103可以你不用同步,我们这里为了保证集群中资源的一致性,做了同步。
7)在hadoop101和hadoop102上分别建表。
副本只能同步数据,不能同步表结构,所以我们需要在每台机器上自己手动建表。
hadoop101:

create table t_order_re ( id UInt32,
sku_id String,
total_amount Decimal(16,2), 
create_time Datetime
) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order','rep_001') partition by toYYYYMMDD(create_time)
primary 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZikH~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值