HBase-indexer & Solr: НЕ найдены данные
В настоящее время я использую hbase-indexer для индексации hbase в solr. Когда я выполняю команду foolowing, чтобы проверить индексатор,
hbase-indexer$ bin/hbase-indexer list-indexers --zookeeper 127.0.0.1:2181
В результате сказано, что:
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
Я думаю, что hbase-indexer работает хорошо, как показано выше, потому что он отображается как + 1 запущенных процессов (до этого я уже выполнял демон hbase-indexer командой: ~$ bin/hbase-indexer server)
Для теста я вставил данные в Hbase через команду put и проверил, что данные были вставлены.
Но Solr Qry сказал следующее: (Нет записи)
Желаю поделиться своими знаниями и опытом, связанными с этим. Спасибо.
{
"responseHeader":{
"zkConnected":true,
"status":0,
"QTime":7,
"params":{
"q":"*:*",
"indent":"on",
"wt":"json",
"_":"1485246329559"}},
"response":{"numFound":0,"start":0,"maxScore":0.0,"docs":[]
}}
1 ответ
Мы столкнулись с той же проблемой.
Как вы говорите, у экземпляра есть хорошее здоровье, ниже приведены причины, по которым он не будет работать.
- Во-первых, если "Запись вперед журнала" (WAL) отключен (может быть из-за соображений производительности записи), то ваши путы не будут создавать документы solr.
Индексатор Hbase NRT работает на WAL. если он отключен, то он не будет создавать документы Solr.
- Второй причиной могут быть конфигурации mophiline, если они не верны, то это не будет создавать документы solr
Тем не менее, я бы посоветовал написать пользовательские программы mapreduce (или также и рабочие задания) для индексирования документов solr путем чтения данных hbase (если не в режиме реального времени, это означает, что когда вы вставляете данные в hbase, они сразу не отражаются после mapreduce) Solr Indexer запускает документы Solr будут созданы)