集群节点


Historical Node
主要负责历史数据的加载

Realtime Node(Firehose、Plumber)
主要负责实时数据的加载

Coordinator Node
数据在集群内的分布管理

Broker Node
外部查询数据

Index Service Node(Overlord、MiddlerManager、Peon)
索引服务


数据流转过程:
实时数据经过Realtime Node,经过Index Service在时间窗口内的数据会停留在Realtime Node的内存当中,而时间窗口外的数据会组织成Segment存储到Deep Storage.
批量数据经过Index Service也会被组织成Segment存储到Deep Storage,同时Segment的原信息会被注册到元信息库中
Coordinator Node会定期同步元信息库(默认每分钟),感知生成新的Segment,并通知在线的Historical Node去加载Segment,ZK也会更新整个集群内部数据分布拓扑图(Druid强依赖ZK)
用户查询时,请求经过Broker Node,它会请求ZK获取集群内数据分布拓扑图,从而知道请求应该发哪些给Realtime Node,哪些给Historical Node,然后汇总各节点的数据返给用户


集群节点_第1张图片
druid.png

各节点详细说明:
Historical Node
Historical Node职责单一,主要负责加载Druid中非实时窗口内切满足加载规则的所有历史数据的Segment。每一个Historical Node只和ZK保持同步,不与其他不同类型的节点或其他的Historical Node进行通信,也就是说每一个Historical Node都是独立的。

Broker Node
Broker Node是整个查询的入口,路由角色,Broker Node感知ZK上保存的集群内所有已发布的Segment元信息,即每个Segment保存在哪些存储节点上

Realtime Node
实时数据处理节点,有两种方式:Stream Push\Stream Pull
Stream Pull
自助的从外部数据源拉取数据并生成Index Service Task.
Realtime Node包含两大组件:Firehose和Plumber
Firehose负责流式数据源的连接、接入(建立数据通道)
Plumber负责Segment的发布与转移(数据的搬运过程)
Stream Push
该方式暂不做详细的说明

Index Service
Index Service负责生产Segment的高可用、分布式、主/从架构服务
包含三大组件:
Peon,负责运行索引任务
MiddleManager,控制管理Peon
Overlord,负责分发任务给MiddleManager

未完待续。。。

你可能感兴趣的:(集群节点)