ClickHouse-Kafka引擎, 高可用实时落地生产方案

ClickHouse-Kafka引擎, 高可用实时落地生产方案

ClickHouse-Kafka引擎,高可用实时落地生产方案。这里以抽取event=cppla的信息为例,详细生产经过如文章所述。如遇到需要抽取其他event,从同一kafka消息队列(kafka_queue)建立物化视图抽取所需event消息即可。

一、clickhouse 集群生产环境

ClickHouse server version 21.8.4 

  • company_cluster 172.23.0.11 9000
  • company_cluster 172.23.0.12 9000
  • company_cluster 172.23.0.13 9000
  • company_cluster 172.23.0.14 9000

二、 clickhouse-kafka高可用实时落地生产流程

clickhouse-kafka高可用实时落地生产流程图
clickhouse-kafka高可用实时落地生产流程图

三、 创建event=cppla的本地表,存储消息流数据

四、创建event=cppla的分布式表,加速查询

五、创建clickhouse kafka engine消息队列

在集群上创建clickhouse kafka engine消息队列,这样做的好处是一台机器的clickhouse-kafka-engine宕机,其他分片机器的clickhouse kafka engine消息队列会抢占式接管,继而实现了高可用。

六、创建MATERIALIZED VIEW物化试图抽取event=cppla的消息并存储

七、kafka集群生产ck_topic消息

八、查询event=cppla消息已经被即时存储

8.1 查询消息已经被存储:event_cppla_get_data_string

8.2 查询解析后的json数据:event_cppla_get_data_json

九、如何即时抽取并存储event=cxx消息?

  1. 创建存储event=cxx的本地表,用于存储消息流数据
  2. 创建event=cxx的分布式表,加速查询
  3. 创建物化视图从已有kafka_queue队列中抽取event=cxx的消息并存储即可。

overClickHouse-Kafka引擎, 高可用实时落地生产方案》。 2021-09-27 by cpp.la

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注