【ClickHouse入门】六、ClickHouse副本
6.1 副本写入流程

6.2 配置步骤
(1)启动zookeeper集群
(2)在T1的/etc/clickhouse-server/config.d 目录下创建一个名为metrika.xml的配置文件,内容如下:
注:也可以不创建外部文件,直接在config.xml中指定<zookeeper>
<?xml version="1.0"?> <yandex> <zookeeper-servers> <node index="1"> <host>T1</host> <port>2181</port> </node> <node index="2"> <host>T2</host> <port>2181</port> </node> <node index="3"> <host>T3</host> <port>2181</port> </node> </zookeeper-servers> </yandex>
(3)同步到T2,T3上
(4)在T1的 /etc/clickhouse-server/config.xml中增加
<zookeeper incl="zookeeper-servers" optional="true" /> <include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>
(5)同步到T2,T3上
(6)因为修改了配置文件,需要重启clickhouse
[root@T1 ~]# clickhouse restart
(7)在T1,T2,T3上分别建表
T1:
create table t_order_rep2 ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_t1') partition by toYYYYMMDD(create_time) primary key (id) order by (id,sku_id);
T2:
create table t_order_rep2 ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_t2') partition by toYYYYMMDD(create_time) primary key (id) order by (id,sku_id);
T3:
create table t_order_rep2 ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_t3') partition by toYYYYMMDD(create_time) primary key (id) order by (id,sku_id);
参数解释:
ReplicatedMergeTree 中:
第一个参数是分片的 zk_path 一般按照:/clickhouse/table/{shard}/{table_name} 的格式写,如果只有一个分片就写 01 即可。
第二个参数数是副本名称,相同的分片副本名称不能相同。
(8)在T1上执行插入语句
insert into t_order_rep2 values (101,'sku_001',1000.00,'2020-06-01 12:00:00'), (102,'sku_002',2000.00,'2020-06-01 12:00:00'), (103,'sku_004',2500.00,'2020-06-01 12:00:00'), (104,'sku_002',2000.00,'2020-06-01 12:00:00'), (105,'sku_003',600.00,'2020-06-02 12:00:00');
(9)在T2上执行select查询,可以查询出结果,说明副本配置正确
T2 :) select * from t_order_rep2; SELECT * FROM t_order_rep2 Query id: c186b8ac-2cfe-4d9a-87a4-b82c31906f8c ┌──id─┬─sku_id──┬─total_amount─┬─────────create_time─┐ │ 101 │ sku_001 │ 1000.00 │ 2020-06-01 12:00:00 │ │ 102 │ sku_002 │ 2000.00 │ 2020-06-01 12:00:00 │ │ 103 │ sku_004 │ 2500.00 │ 2020-06-01 12:00:00 │ │ 104 │ sku_002 │ 2000.00 │ 2020-06-01 12:00:00 │ └─────┴─────────┴──────────────┴─────────────────────┘ ┌──id─┬─sku_id──┬─total_amount─┬─────────create_time─┐ │ 105 │ sku_003 │ 600.00 │ 2020-06-02 12:00:00 │ └─────┴─────────┴──────────────┴─────────────────────┘ 5 rows in set. Elapsed: 0.004 sec.

浙公网安备 33010602011771号