一、实时OLAP
### --- 实时OLAP ~~~ Kylin V3.0.0发布了全新的实时OLAP借助新添加的流接收器群集功能, ~~~ Kylin可以延迟亚秒级查询流数据。 ~~~ 如果要以微批量的方式接收(约10分钟的延迟)kafka对于事件,可以考虑使用流式建筑。 ~~~ 所有这两个功能都用于 Kafka 不要混合数据源。
### --- 基本概念:Kylin实时OLAP的组件 Kafka Cluster [data source] Kylin Process [job server/query server/coordinator] Kylin streaming receiver Cluster [real-time part computation and storage] HBase Cluster [historical part storage] Zookeeper Cluster [receiver metadata storage] MapReduce [distributed computation] HDFS [distributed storage]
二、实时OLAP结构说明:实时OLAP架构

### --- OLAP组件说明 ~~~ # Streaming Coordinator ~~~ Streaming coordinator充当streaming receiver cluster的master node。 ~~~ 其主要职责包括:分配/取消特定分配topic partition给出特定的副本集, ~~~ 暂停或继续使用,收集消费率(每秒消息)等详细信息。
~~~ # Coordinator Cluster ~~~ 为了消除单点故障,我们可以启动多个故障coordinator程序。 ~~~ 有多个集群coordinator程序时,zookeeper将选择一个leader。 ~~~ 只有leader将回答coordinator其他过程将成为客户端的备用/候选人,因此单点故障将被消除。 ~~~ # Streaming Receiver ~~~ Streaming Receiver是工作节点。它由Streaming Coordinator管理,其职责如下: ~~~ 摄取(ingest)实时事件 ~~~ 本地建设基础cuboid(如果配置正确,可以构建更多cuboid) ~~~ 回答查询请求,获取分配给自己的部分数据 ~~~ 将本地segment缓存上传到HDFS或在segment状态变为不可变时删除
~~~ # Receiver Cluster ~~~ 所有streaming receiver的集合称为receiver cluster。 ~~~ # Replica Set ~~~ Replica Set是一组streaming receivers。 ~~~ Replica Set是任务分配的最小单位, ~~~ 这意味着一个Replica Set中的所有receivers同样的任务(包括(包括相同的主题分区)。 ~~~ 当某些receiver意外关闭,但一切replica set它们至少有一个可访问性receiver时, ~~~ receiver cluster仍可查询,数据不会丢失。