Druid系列 -- 历史节点(Historical Node)
2018-12-14 本文已影响0人
陈皮12311
作用
历史节点负责装载历史数据段并将它们暴露出去用于查询服务。
装载并且提供数据服务段
1. 历史节点会保持和ZooKeeper的连接并且监听ZooKeeper相应的路径来获取新的数据段的信息,它通过ZooKeeper来协调相互之间的通信。
2. 当历史节点监测到有新的数据段时,它首先会在本地缓存中查询该数据段的信息,如果本地缓存没有命中,则会下载该数据段的元数据。元数据包括了该数据段在deep storage(后面的文章会介绍)中的存储位置以及解压和处理该数据段的方式。
3. 一旦历史节点处理完了该数据段,则该数据段会在ZooKeeper中其所属的服务数据段中宣布它已经能够使用,该数据段现在能够被用来查询。
从缓存中加载数据段并提供服务
当历史节点注意到有新的数据段时,它首先会检查缓存目录(可配置的)来检查是否该数据段之前已经被下载了,如果缓存命中,则直接从缓存中读取并加载数据段。
当历史节点第一次启动时,它会搜索缓存目录并且马上加载所查找到的数据段并提供服务。
萌新一枚,任何有写的不对的地方欢迎指正!