数据平面分布式方案
clickhouse分布式集群方案研究
Hadoop系列的集群是服务级别的,而Clickhouse的集群是表级别的
配置文件作用:
- /etc/clickhouse-server/config.xml 端口配置、本地机器名配置、内存设置等;
- /etc/clickhouse-server/metrika.xml 集群配置、ZK配置、分片配置等;
- /etc/clickhouse-server/users.xml 权限、配额设置;
clickhouse分布式集群常见方案:
一、MergeTree + Distributed
架构解析:
MergeTree + Distributed的分布式架构方案,利用的是Distributed表的特性+MergeTree表的特性,分布式表不存储数据,数据来自本地表,将分布式表的数据分为3个shard,每台节点存储三分之一的数据,用户查询的时候是从分布式表所在的节点聚合从Ck1,CK2,CK3的查询结果,然后返回用户,写入数据可以写入分布式表,当然这样的写入方式问题很多,一般是禁止写入分布式表的,那么选择写入本地表的化,需要将数据轮询或者其他方式,将数据分散写入Ck1,CK2,CK3,当然你也可以只写入其中一台,那么使用方式就是单机版的
优势:
架构简单,可以单机使用,可以分布式使用,关键在于表引擎的选择,并行的查询分布式表,性能非常棒
问题:
(1):本地表+分布式表,分布式表如果某个节点当机就会丢失数据,用户查询服务就会报错,如果节点磁盘损坏,那么数据将大概率丢失,无法恢复,即使恢复也会付出极大的成本
(2):对于查询节点的选择需要慎重的考虑,毕竟需要聚合所有查询节点的结果
二、MergeTree + Distributed+集群复制
三、ReplicatedMergeTree + Distributed
四、