Druid-Druid中Historical Process
作者:
李小李的路 | 来源:发表于
2020-02-28 00:01 被阅读0次
启动命令
org.apache.druid.cli.Main server historical
加载和服务Segment
- 每个Historical进程维护一个与Zookeeper的固定连接,并监视可配置的Zookeeper路径,以获取新的Segment信息。历史一个之间不直接通信,也不与Coordinator进程通信,而是依赖于Zookeeper进行协调。
- Coordinator进程负责将新的Segment分配给Historical进程。分配方法是通过在在Historical进程关联的负载队列路径下创建临时Zookeeper条目来完成的。
- 当Historical进程在其负载队列路径中注意到一个新的负载队列条目时,它将首先检查本地磁盘目录(缓存),以获得关于Segment的信息。如果缓存中不存在关于该Segment的信息,则Historical进程将从Zookeeper下载关于新Segment的元数据。此元数据包括关于段位于
Deep Storage
中的何处以及如何解压和处理Segment的规则。一旦一个Historical进程完成了对一个Segment的处理,这个Segment就会在Zookeeper中与该进程相关联的服务段路径下被声明。此时,该Segment可用于查询。
从缓存中加载和服务Segment
- 回想一下,当Historical进程在其负载队列路径中注意到一个新的Segment条目时,历史进程首先检查其本地磁盘上的一个可配置缓存目录,以查看该Segment之前是否已下载。如果本地缓存项已经存在,历史进程将直接从磁盘读取Segment二进制文件并加载Segment。
- Segment缓存在第一次启动Historical进程时也会得到利用。在启动时,Historical进程将搜索其缓存目录,并立即加载和服务所有找到的Segment。该特性允许在Historical进程上线时立即查询它们。
查询 Segment
- Historical 进程可以配置为log和report 监控指标,用于记录每个query的性能。
本文标题:Druid-Druid中Historical Process
本文链接:https://www.haomeiwen.com/subject/wplqhhtx.html
网友评论