l、 刪除全索引
成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序設(shè)計、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。效率很高,可以關(guān)閉Solr后,直接刪除Data文件。
2、 重新創(chuàng)建全索引
拉取HBase中全數(shù)據(jù),分批次創(chuàng)建索引。
1、觸發(fā)器發(fā)送數(shù)據(jù)到Solr建索引。
配置并使用HBase觸發(fā)器功能,配置實現(xiàn)如下:
alter 'angelHbase', METHOD => 'table_att', 'coprocessor' => '/home/hbase/hbase-0.94.18-security/lib/solrHbase.jar|solrHbase.test.SorlIndexCoprocessorObserver|1073741823|'
alter 'angelHbase', METHOD =>'table_att_unset', NAME => 'coprocessor$1'
然后編寫SorlIndexCoprocessorObserver extendsBaseRegionObserver,重寫postPut方法。在postPut方法中,需要正確地讀出寫入HBase的數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù),然后轉(zhuǎn)化為相應(yīng)的SolrInputDocument,再使用ConcurrentUpdateSolrServer方式向Solr服務(wù)器發(fā)送SolrInputDocument數(shù)據(jù),具體使用方法如之前博文介紹Solr的使用方法、性能對比所示。
注意:需要把Solr相關(guān)的jar包放入lib下,并且刪除版本不一致的jar(有很多)。更新jar后要重啟HBase才能生效。
具體性能如之前博文介紹Solr的使用方法、性能對比所示。http://www.cnblogs.com/wgp13x/p/3742653.html http://www.cnblogs.com/wgp13x/p/3748764.html
2、觸發(fā)器發(fā)送數(shù)據(jù)到RabbitMQ,Solr端從RabbitMQ獲取數(shù)據(jù)建索引。
embedded方式官方不推薦使用。而使用ConcurrentUpdateSolrServer性能與上種方式并無區(qū)別。
3、 建議:
在HBase中只存儲1列,存儲值為PB或Json串。(存在由bean到SolrInputDocument轉(zhuǎn)化的類及annotation,以及各自的壓縮算法)
或者:插入HBase的數(shù)據(jù)均以Bytes.toBytes(String)類型存儲,如long型數(shù)值2存儲為Bytes.toBytes(""+2)。否則在postPut()中需要知道每列的具體類型才能生成正確的SolrInputDocument,因為SolrInputDocument中需要的是String類型的數(shù)據(jù)。
具體的postPut方法代碼,如有需要可以留言或直接跟本人聯(lián)系。http://www.cnblogs.com/wgp13x/
使用HBase搭建結(jié)構(gòu)數(shù)據(jù)存儲云,用來存儲海量數(shù)據(jù);使用SolrCloud集群用來搭建搜索引擎,將要查找的結(jié)構(gòu)化數(shù)據(jù)的ID查找出來,只配置它存儲ID。
1、具體流程:
wd代表用戶write data寫數(shù)據(jù),從用戶提交寫數(shù)據(jù)請求wd1開始,經(jīng)歷wd2,寫入MySQL數(shù)據(jù)庫,或?qū)懭虢Y(jié)構(gòu)數(shù)據(jù)存儲云中,wd3,提交到Solr集群中,從而依據(jù)業(yè)務(wù)需求創(chuàng)建索引。
rd代表用戶read data讀數(shù)據(jù),從用戶提交讀數(shù)據(jù)請求rd1開始,經(jīng)歷rd2,直接讀取MySQL中數(shù)據(jù),或向Solr集群請求搜索服務(wù),rd3,向Solr集群請求得到的搜索結(jié)果為ID,再向結(jié)構(gòu)數(shù)據(jù)存儲云中通過ID取出數(shù)據(jù),最后返回給用戶結(jié)果。
來自為知筆記(Wiz) 作者:Angel 出處:http://www.cnblogs.com/wgp13x/ 歡迎轉(zhuǎn)載或分享,但請務(wù)必聲明文章出處。如果文章對您有幫助,希望你能推薦或關(guān)注。王安琪,英文名Angel,南京郵電大學計算機應(yīng)用技術(shù)碩士學位。 熟悉Java、C#編程語言。專注于WebService、海量數(shù)據(jù)處理、搜索引擎技術(shù)、消息中間件技術(shù)、分布式文件存儲、.NET應(yīng)用程序開發(fā)、系統(tǒng)架構(gòu)設(shè)計。主要從事大數(shù)據(jù)管理系統(tǒng)的研發(fā),項目經(jīng)理,系統(tǒng)架構(gòu)師,就職于江蘇金陵科技集團有限公司。
Email:aitanjupt@hotmail.com
QQ:289770363