简介:HBase Indexer是一个将HBase数据存储到Solr的软件,它具有近乎实时的索引能力。本文将深入探讨HBase Indexer的工作原理和它在HBase集群和Solr集群中的地位。
HBase Indexer,全名为Lily Hbase Indexer,是NGDATA公司为了将lily子系统里面相关HBase数据存储到Solr而开发的一个软件。它的主要作用是将HBase表里面的某些列(或者所有列)数据近乎实时地索引到SolrCloud里面。为什么说近乎实时?这是因为HBase Indexer是依赖于HBase的replication功能来实现将数据索引到Solr里面的。由于这个过程是异步进行的,并且重放HBase WAL日志本身就存在一定的延迟,所以HBase Indexer是近乎实时地将数据索引到Solr里面。
HBase Indexer的地位类似于HBase高可用方案里面的Slave集群,事实上HBase Indexer上每一个indexer(底层核心是SepConsumer类)都是一个伪装的、弱化了的RegionServer,负责接收SepEvent,并处理自己感兴趣的那部分数据,然后将数据存储到Solr集群上。
那么为什么选择Replication而不选择Coprocessor来实现HBase Indexer?原因有以下几点: