搞定设计网站做的图怎么下载不了,网站开发树形图,深圳画册设计印刷,免费建网站空间一、简介 副本功能只支持 MergeTree Family 的表引擎#xff0c;参考文档#xff1a;https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ ClickHouse 副本的目的主要是保障数据的高可用性#xff0c;即使一台 ClickHouse 节点宕机#…一、简介 副本功能只支持 MergeTree Family 的表引擎参考文档https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ ClickHouse 副本的目的主要是保障数据的高可用性即使一台 ClickHouse 节点宕机那么也可以从其他服务器获得相同的数据。
二、原理 主要依赖 Zookeeper 来进行多个 ClickHouse 节点间数据的同步各节点间没有主从关系 三、配置 以 3 台虚拟机节点集群为例 在集群的一台节点 hadoop102 上修改配置文件 #1. 使用外部文件进行配置
su root
cd /etc/clickhouse-server/config.d
vim metrika.xml#添加zookeeper信息
?xml version1.0?
yandexzookeeper-serversnode index1hosthadoop102/hostport2181/port/nodenode index2hosthadoop103/hostport2181/port/nodenode index3hosthadoop104/hostport2181/port/node/zookeeper-servers
/yandex#修改metrika.xml文件的所属用户及组
chown clickhouse:clickhouse metrika.xmlcd /etc/clickhouse-server
vim config.xml#查找zookeeper位置添加配置
zookeeper inclzookeeper-servers optionaltrue /
include_from/etc/clickhouse-server/config.d/metrika.xml/include_from#2. 直接在 config.xml 中进行配置
su root
cd /etc/clickhouse-server
vim config.xml#查找zookeeper位置去掉zookeeper/zookeeper的注释并修改
zookeepernodehosthadoop102/hostport2181/port/nodenodehosthadoop103/hostport2181/port/nodenodehosthadoop104/hostport2181/port/node
/zookeeper同步配置文件到其他节点 /etc/clickhouse-server/config.d/metrika.xml
/etc/clickhouse-server/config.xml启动 zookeeper 集群服务 分别在 clickhouse 对应的节点启动服务 sudo clickhouse start四、使用 在集群一台节点 hadoop102 上进入 clickhouse 客户端并创建表 create table t_order_rep2
(id UInt32,sku_id String,total_amount Decimal(16,2),create_time Datetime
)
engineReplicatedMergeTree(/clickhouse/table/01/t_order_rep,rep_102)
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id);--ReplicatedMergeTree中的参数说明
--1. /clickhouse/table/01/t_order_rep指定表的分片在 zookeeper 中的地址一般按照 /clickhouse/table/{shard}/{table_name} 的格式只有一个分片就写 01--2. rep_102指定副本名称相同的分片副本名称不能相同在集群另一台节点 hadoop103 上进入 clickhouse 客户端并创建表 create table t_order_rep2
(id UInt32,sku_id String,total_amount Decimal(16,2),create_time Datetime
)
engineReplicatedMergeTree(/clickhouse/table/01/t_order_rep,rep_103)
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id);在 hadoop102 上向表中插入数据 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);在 hadoop103 上查询表中数据能正确返回则表示副本配置成功 select * from t_order_rep2;