我目前正在使用hbase-indexer在solr中索引hbase。 当我执行foolowing命令来检查索引器时,
SELECT * FROM sys.dm_fts_index_keywords(DB_ID('my_db'), OBJECT_ID('my_table'))
结果说:
hbase-indexer$ bin/hbase-indexer list-indexers --zookeeper 127.0.0.1:2181
我认为hbase-indexer运行良好,如上所示,因为它显示为+ 1个正在运行的进程。(在此之前,我已经通过命令执行了hbase-indexer守护进程:〜$ bin / hbase-索引器服务器)
为了测试,我通过put命令在Hbase中插入数据并检查数据是否已插入。
但是,solr qry说:(没有记录)
我希望您分享与此相关的知识和经验。 谢谢。
myindexer
+ Lifecycle state: ACTIVE
+ Incremental indexing state: SUBSCRIBE_AND_CONSUME
+ Batch indexing state: INACTIVE
+ SEP subscription ID: Indexer_myindexer
+ SEP subscription timestamp: 2017-01-24T13:15:48.614+09:00
+ Connection type: solr
+ Connection params:
+ solr.zk = localhost:2181/solr
+ solr.collection = tagcollect
+ Indexer config:
222 bytes, use -dump to see content
+ Indexer component factory:
com.ngdata.hbaseindexer.conf.DefaultIndexerComponentFactory
+ Additional batch index CLI arguments:
(none)
+ Default additional batch index CLI arguments:
(none)
+ Processes
+ 1 running processes
+ 0 failed processes
答案 0 :(得分:2)
我们遇到了同样的问题。
正如您所说的那样,服务器实例具有良好的健康状况,以下是其无法正常工作的原因。
但是,我建议通过读取hbase数据来编写自定义mapreduce程序(或者火花作业)以索引solr文档(如果不是实时,这意味着什么时候你把数据直接放到hbase中它不会反映,在mapreduce solr indexer运行后会创建solr文件)