当社は、HBaseのクラスタの鳳凰とHBaseの-インデクサを使用していて、私たちは鳳凰セカンダリインデックス好奇心の現象を発見した:フェニックスセカンダリインデックスはWALログを特別に処理しますか?
我々はグローバル2で一つのテーブル(C_PICRECORD)に(CSVデータをインポートするために使用psqlを)データを入れますphoenixの可変インデックステーブル(C_PICRECORD_IDX1とC_PICRECORD_IDX2)を作成し、hbase-indexerを使ってsolrにデータを複製します。データのインポートが完了した後、solrドキュメントのnumfoundがhbaseテーブルの行数と異なることが判明しました。インデックステーブルを削除し、データをクリアしてデータを再配置すると、solrドキュメントnumfoundがhbaseテーブルの行数と同じであることがわかりました。
最近では、solrドキュメントのnumfoundがhbaseテーブルの行数と異なる理由が見つかりました: 1)phoenixの2つのグローバルインデックステーブルを持つインポートデータ(psql) !
2)solrとhbaseの間で不一致な行数に関する不思議な現象は、データテーブルで2次インデックスがある場合にのみ発生します。
フェニックスの2次インデックスを使用すると、長い間迷惑をかけることがあります。
私の質問です:Phoenix Secondary IndexesはWALログを特別に扱いますか?
当社ENV:
cdh5.4.2 のHBase-1.0.0-cdh5.4.2 phonenix-4.6 HBaseの-Solrの-1.5-cdh5.4.2(HBaseの-インデクサ)
クラスタ:3 HBaseリージョンサーバーと3のHBase-インデクサ
[ヒント]
のHBase-インデクサは、HBaseの複製に基づいてSolrにデータを置きます。それはWALログを捕捉し、興味のあるデータをsolrに入れます。 hbase-indexer github:https://github.com/NGDATA/hbase-indexer