clickhouse之replication配置及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouse之replication配置及使用相关的知识,希望对你有一定的参考价值。

参考技术A Clickhouse支持cluster,支持shard及replication。这里介绍replication。

replication只适用于MergeTree引擎类型table,作用于单个表。而不是整个server。一台server上面可以同时存在replicated表和非replicated表。

1.在多台节点上安装clickhouse-server
2.分别在每台server上面配置zookeeper,默认配置文件位置/etc/clickhouse-server/config.xml,示例如下:

3.在配置文件中配置宏(macro),这里的参数在建表的时候会被引用到。

shard是分片标识,replication模式采用一个分片,不同server分片相同
replica是副本标识,不同副本该值不能相同,可以配置为本机的hostname

4.分别在不同的server上面执行建表语句

这里有几点说明:

-其中shard和replica的值会被宏中所配置的值代替
-table engins必须使用MergeTree族,并且加上Replicated前缀,如:ReplicatedReplacingMergeTree
-第一个参数'/clickhouse/tables/shard/flow'是表在zookeeper上的路径,第二个参数即副本名称

在不同的server建好表以后,就可以往表中写入数据了,可以使用insert方式向replicated表中写入数据,也可以通过clickhouse-client的文件导入方式写入。只需要往其中一台server的replicated表中写数即可,clickhouse会自动将数据同步到其他server上面,同步数据和写入数据的过程是异步的。

-clickhouse的cluster环境中,每台server的地位是等价的,即不存在master-slave之说,是multi-master模式
-各replicated表的宿主server上要在hosts里配置其他replicated表宿主server的ip和hostname的映射
-上面描述的是在不同的server上建立全新的replicated模式的表, 如果在某台server上已经存在一张replicated表,并且表中已经有数据,这时在另外的server上执行完replicated建表语句后,已有数据会自动同步到其他server上面
-如果zookeeper挂掉,replicated表会切换成read-only模式,不再进行数据同步,系统会周期性的尝试与zk重新建立连接
-如果在向一张replicated表insert数据的时候zookeeper挂掉,这时候会抛一个异常,等到与zk重新建立连接以后,系统(其他replicated表所在server)会检查本地文件与预期文件(保存在zk上)的差别,如果是轻微的差别,直接同步覆盖,如果发现有数据块损坏或者识别不了,则将这些数据文件移动到“detached”子目录,然后重新根据zk所记录的文件信息进行副本的同步
-drop掉某一台server上的replicated表,不会对其他server上面的replicated表造成影响

ClickHouse 相关博客

什么叫副本 replica,什么叫分片 shard?

ClickHouse学习系列之四【副本&分片部署说明】 - jyzhou - 博客园

MergeTree + Replicated 引擎介绍:

ClickHouse各种MergeTree的关系与作用 - 云+社区 - 腾讯云

所有表引擎简介:

表引擎 - 云数据库 ClickHouse - 阿里云

Replicated(复制 )+ Distributed(分布式) 引擎

ClickHouse复制表、分布式表机制与使用方法 - 简书

replica 的两种实现方式:

深入理解ClickHouse之5-ClickHouse集群的replica实现方式 - 梁凡的博客 | LiangFan Blog

分布式表的实现方式:

深入理解ClickHouse之7-本地表和分布式表 - 梁凡的博客 | LiangFan Blog

Clickhouse 分布式表&本地表 - Yisany - 博客园

ClickHouse 的索引结构和查询优化:

clickhouse的索引结构和查询优化_进化的深山猿-CSDN博客_clickhouse 索引

ClickHouse 优化:

ClickHouse优化典藏 - 墨天轮

ClickHouse Better Practices - 简书

ClickHouse 二级索引:

ClickHouse二级索引 - 云数据库 ClickHouse - 阿里云

ClickHouse 的存储引擎介绍:

Clickhouse系列-第五章-存储引擎 – 陈峰的技术空间

ClickHouse 优劣总结:

ClickHouse的入门、使用和优化 - 墨天轮

ClickHouse 主键的探讨:

ClickHouse主键探讨[译文+补充] - clickhouseclub

ES VS CK:

独家深度 | 一文看懂 ClickHouse vs Elasticsearch:谁更胜一筹? - 知乎

ClickHouse 与es比较分布式架构存储架构查询架构性能测试结语 - 骇客66

各大公司的使用:

Uber 如何使用ClickHouse建立快速可靠且与模式无关的日志分析平台? - 云+社区 - 腾讯云

优秀的系列文章:

Clickhouse系列-第二节-基本原理 – 陈峰的技术空间

ClickHouse复制表、分布式表机制与使用方法 - 简书

以上是关于clickhouse之replication配置及使用的主要内容,如果未能解决你的问题,请参考以下文章

ClickHouse安装配置及表引擎使用

ClickHouse使用SQL方式创建用户及配置

为何如此之快?ClickHouse的核心特性及架构

为何如此之快?ClickHouse的核心特性及架构

ClickHouse使用SQL方式创建用户及配置

ClickHouse使用SQL方式创建用户及配置