新建hbase-indexer后通过hbase-indexer list-indexers
发现SEP subscription ID: null
并且0 running processes
,如下:
INDEXER_NAME
+ Lifecycle state: ACTIVE
+ Incremental indexing state: SUBSCRIBE_AND_CONSUME
+ Batch indexing state: INACTIVE
+ SEP subscription ID: null
+ SEP subscription timestamp: 2016-09-25T14:40:37.005+08:00
+ Connection type: solr
+ Connection params:
+ solr.collection =COLLECTION_NAME
+ solr.zk = node1:2181,node2:2181,node3:2181/solr
+ Indexer config:
407 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
+ 0 running processes
+ 0 failed processes
由 http://www.cnblogs.com/husky/p/solr.html 可知,应该是之前配置的indexer和hbase中的连接信息并没有清理掉,又重新创建了indexer。
2. 恢复过程
- 删除indexer。
- 关闭hbase-solr-indexer服务,solr服务,关闭hbase集群
- 清理zookeeper上和indexer有关(/ngdata),和hbase有关(/hbase)(放心删除/hbase!zk下的目录会恢复的,并且表数据不会收到影响)
- 重新启动hbase集群,solrcloud, hbase-solr-indexer服务。
- 重新开始配置Lily hbase indexer。
3. 总结
删除solr的zk目录/solr,再启动solr会报错。删除以后恢复过来的solr在zk上只剩下这些节点ls /solr [solr, clusterprops.json, zkdtsm]
而原来是有ls /solr [configs, clusterprops.json, clusterstate.json, aliases.json, solr.xml, solr, live_nodes, overseer, overseer_elect, collections, zkdtsm]
上面这问题和solr没什么关系,主要是没将hbase上面的东西删除干净导致,无需删除/solr就可以恢复。
4. 其他相关问题
4.1 Hbase启动失败
报错信息如下:
HRegionServer
ABORTING region server master,60020,1506502095106: Unhandled: Failed replication handler create
java.io.IOException: Failed replication handler create
HRegionServer
Failed init
java.io.IOException: Failed replication handler create
查找zk目录/hbase/rs
中的master,60020,1506502095106
失败,建议关闭HBase集群,删除zk的/hbase目录。(不过这样如果配置了hbase-indexer可能要重建)