CDH5.8.2 Hbase建立solr二級索引步驟說明

CDH5.8.2集成版本Hbase建立solr二級索引

1、確認所建Hbase表開啓複製功能,默認不開啓,CDH版本很多已開啓

# create 'table',{NAME => 'info', REPLICATION_SCOPE => 1} 

#其中1表示開啓replication功能,0表示不開啓,默認爲0 

對於已建立的表:

# disable 'table' 

# alter 'table',{NAME => 'info', REPLICATION_SCOPE => 1} 

# enable 'table' 

#describe 'table’   # 可以查看REPLICATION_SCOPE的值


2、創建solr實體配置文件本地目錄

# solrctl instancedir --generate /home/dbcfg/caiyixuan   # 路徑自定義

創建後會在caiyixuan目錄下生成一個conf文件夾,裏面是相關配置文件。

3、編輯conf文件夾裏的schema.xml文件

hbase表中需要索引的列對應scheme.xml 的filed節點,其中的name屬性值要與Morphline.conf文件中的outputField屬性值對應

注意:此處的name自定義,但不能有重複



4、創建collection實例並配置文件上傳到zookeeper

# solrctl instancedir --create caiyixuan /home/dbcfg/caiyixuan

注意:之前如果有創建過,需要先刪除再創建,或者覆蓋更新

(# solrctl instancedir --update caiyixuan /home/dbcfg/caiyixuan

5、上傳到zookeeper之後,其他節點就可以從zookeeper下載配置文件。接着創建collection

# solrctl collection --create caiyixuan -s 15 -r 2 -m 50

(紅色參數表示s表示設置Shard數爲15,-r表示設置的replica數爲2,-m表示最大shards數目,collection名稱是caiyixuan,後面在Morphline.conf配置id時用到!)



6、在目錄caiyixuan路徑下建立xml文件,文檔以Mapper.xml爲例


table對應hbase表名,field name對應solr裏的索引字段,即schema.xml裏的name字段。value是由hbase表的列簇:列 組成


7、在hbase-solr目錄下的bin目錄下執行hbase-indexer

# cd /opt/cloudera/parcels/CDH-5.8.2-1.cdh5.8.2.p0.3/bin      # 以實際版本路徑爲準

# ./hbase-indexer add-indexer -n caiyixuanindexer -c /home/dbcfg/caiyixuan/Mapper.xml -cp solr.zk=master:2181,slaver1:2181,slaver2:2181,slaver3:2181,slaver4:2181/solr -cp solr.collection=caiyixuan -z master:2181,slaver1:2181,slaver2:2181,slaver3:2181,slaver4:2181

此處caiyixuanindexer是索引分度管理器,自定義不能重複;Mapper.xml就是在conf裏建立的映射文件的名稱;caiyixuan是創建的collection的名稱。

(update-indexer,可用於更新相關配置信息,如新增字段索引!


8、添加拼音分詞和smartcn分詞

添加 pinyin4j-2.5.0.jar  lucene-analyzers-smartcn-4.10.3.jar lucene-analyzers-smartcn-4.10.3-cdh5.8.2.jar IKAnalyzer2012FF_u1.jar 到/opt/cloudera/parcels/CDH/lib/solr/webapps/solr/WEB-INF/lib 下。分發到其它從節點

修改schema.xml



最後重啓Solr服務


另外,附上Morphline.conf的配置文件:




如果沒有添加分詞依賴的jar包,重啓時會報錯:

Caused by: org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory

Unableto create core [caiyixuan_shard9_replica2] Caused by:org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory</str></lst> <lst name="success"> <lst> <lstname="responseHeader"> <int name="status">0</int> <int name="QTime"> 7826</int> </lst><str name="core"> caiyixuan_shard7_replica1</str></lst> <lst> <lst name="responseHeader"> <intname="status"> 0</int> <int name="QTime">8064</int> </lst> <str name="core


========================================================================

http://master:8983/solr/admin/collections?action=DELETE&name=caiyixuan              

刪除collection

http://master:8983/solr/admin/configs?action=DELETE&name=caiyixuan                  

刪除配置文件


更新:hbase-indexer update-indexer -n caiyixuanindexer

查看:hbase-indexer list-indexers

刪除:hbase-indexer delete-indexer -n caiyixuanindexer




















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章