Hbase+Solrによる2次インデックスの効率的なクエリー


次のコプロセッサについて説明しますhttp://qindongliang.iteye.com/blog/2277145では、本編では実戦の一例として、Hbaseに二次インデックスを作成するために協処理をどのように使用するかを見てみましょう.githubアドレス:https://github.com/qindongliang/hbase-increment-indexビジネスニーズ:既存のHbaseのテーブルは、データ量が千万レベル+で、新しいデータ挿入や無効なデータ削除が絶えず行われており、毎日数百万のデータが追加されています.現在、オフラインのhiveマッピングhbaseがオフラインクエリーを提供していますが、性能が低く、全文検索をサポートしていないため、OLAPのリアルタイムオンライン分析のクエリーを提供したいと思っています.また、従来の集約統計と全文検索をサポートし、性能は秒レベルで需要分析を受け入れることができる:hbaseの現在の2級インデックスの種類は非常に多いが、多くはあまり安定していないか成熟していない.Luceneに基づく全文検索サービスSolrCloudクラスタとElasticSearchクラスタは2つの比較的信頼できる方案であり、需要も性能も満たすことができ、許容誤差をサポートする.コピー、拡張などの機能ですが、二次開発とカスタマイズが必要です.スキーマのトポロジ:
Hbase+Solr实现二级索引提供高效查询_第1张图片
技術実装(1)solrまたはesクラスタを構築し、schemalを事前にカスタマイズします.この例ではsolr単一ノードストレージインデックスを使用します.solrcloudクラスタまたはelasticsearchクラスタの構築方法が分からない場合は、ブログを参照してください.solrcloudクラスタ構築http://qindongliang.iteye.com/blog/2275990Elasticsearchクラスタ構築http://qindongliang.iteye.com/blog/2250776(2)カスタムコプロセッサを開発し,コードはgithub上でオープンソースになったhttps://github.com/qindongliang/hbase-increment-index(3)コードを1つのmainにパッケージする.jar(4)jarに依存する各Hbaseノードをインストールし、hbaseのlibディレクトリにコピーしたり、hbase.env.sh内にCLASSSPATHを配置する

config-1.2.1.jar
httpclient-4.3.1.jar
httpcore-4.3.jar
httpmime-4.3.1.jar
noggit-0.6.jar
solr-solrj-5.1.0.jar

(5)mainをアップロードする.JArからHDFSディレクトリ(6)構築テーブル:create'c',NAME=>'cf'(7)無効テーブルdisable'c'(8)コプロセッサを追加するjar:

alter 'c', METHOD => 'table_att', 'coprocessor'=>'hdfs:///user/hbase_solr/hbase-increment-index.jar|com.hbase.easy.index.HbaseSolrIndexCoprocesser|1001|'

(8)テーブルenable'c'(9)をアクティブにしてsolrまたはesクラスタ(9)を起動hbase shellまたはhbase java clientでputデータを行い、インデックスにデータが正しく追加されているかどうかを確認するのを待って、追加に失敗した場合、hbaseのregionserverのlogを表示し、プロンプトに従って解決(10)コプロセッサをアンロードしてテーブルを無効にしてから実行

alter 'c',METHOD => 'table_att_unset',NAME =>'coprocessor$1'

アンインストール、完了後、テーブル異常をアクティブにします:(1)hbaseのhttp-clientコンポーネントがこの例で使用した最新のsolrのhttp-clientコンポーネントバージョンと一致しないため、インデックスエラーを追加します.解決方法:solrを使用するhttpclient-4.3.1.jar httpcore-4.3.JArは、すべてのノードhbase/libの下の低バージョンのhttpclientコンポーネントパッケージを置き換えます.
何か問題があったら、微信の公衆番号に注目してください.私は攻城師(woshigcs)で、楽屋で伝言を残して相談しています.この公众号の内容は検索とビッグデータ技术とインターネットなどの方面の内容の分かち合いに関连して、1つの暖かい技术のインタラクティブな交流の小さい家です
Hbase+Solr实现二级索引提供高效查询_第2张图片