Apache Druid 实现原理解析
-
Coordinator processes manage data availability on the cluster. 协调器进程管理群集上的数据可用性
-
Overlord processes control the assignment of data ingestion workloads. master进程控制数据提取工作负载的分配。
-
Broker processes handle queries from external clients. 代理程序处理来自外部客户端的查询。
-
Router processes are optional processes that can route requests to Brokers, Coordinators, and Overlords. 路由器进程是可选进程,可以将请求路由到broker,Coordinator和Overlords。
-
Historical processes store queryable data. 历史过程存储可查询的数据。
-
MiddleManager processes are responsible for ingesting data. MiddleManager进程负责摄取数据。
-
Master: Runs Coordinator and Overlord processes, manages data availability and ingestion. 运行Coordinator 与 Overlord 进程 协调集群以及数据可用性
-
Query: Runs Broker and optional Router processes, handles queries from external clients. 运行Broker和Router,处理来自外部客户端的查询。
-
Data: Runs Historical and MiddleManager processes, executes ingestion workloads and stores all queryable data. 运行Historical和MiddleManager进程,执行提取工作负载并存储所有可查询的数据。
外部依赖
- 元数据库(Metastore):存储druid集群的元数据信息,如Segment的相关信息,一般使用MySQL或PostgreSQL
- 分布式协调服务(Coordination):为Druid集群提供一致性服务,通常为zookeeper
- 数据文件存储(DeepStorage):存储生成的Segment文件,供Historical Node下载,一般为使用HDFS