1

クラスターHbaseをセットアップしています。その中で私は3つのリージョンサーバーを持っています。3つのリージョンサーバーに均等に分散された27のリージョン(リージョンサーバーごとに9つのリージョン)を持つテーブルがあります。

リージョンサーバー1には---リージョン1-9リージョンサーバー2には---リージョン10-18リージョンサーバー3には---リージョン19-27

リージョン1とリージョン5(両方ともリージョンサーバー-1の下)に行を交互に継続的に挿入するプログラムを開始すると、各行の挿入時間が一定または一貫していないことがわかります---多くのことがあります分散の、または挿入時間の標準偏差が非常に大きいと言います。行の挿入に2ミリ秒かかる場合もあれば、3ミリ秒かかる場合もあれば、1000ミリ秒かかる場合もあり、3000ミリ秒を超える場合もあります。行のデータサイズが同じ場合でも。

リージョンのフラッシュと圧縮のために書き込みがブロックされることを理解しています---しかし、それはより長い期間ブロックされるべきではなく、ブロック時間はすべてのフラッシュ/圧縮(マイナーな圧縮)で一貫している必要があります。

全体として、フラッシュと圧縮が発生するたびに、圧縮とフラッシュごとにほぼ同じ時間がかかるはずです。

私たちのアプリケーションでは、一貫したサービス品質が必要であり、少なくとも完全ではない場合は、よく見える境界線が必要です。たとえば、各行の挿入には、0〜10ミリ秒かかります。マイナーな圧縮またはフラッシュが発生しますが。

試してみるべき設定・設定はありますか?

Hbaseでそれを実現する方法のアイデア。

どんな助けでも本当にありがたいです。

前もって感謝します!!

4

1 に答える 1

1

最初の圧縮は書き込みをブロックしません!私がお勧めする主なことは、リージョンサーバー/クライアントのGCを確認することです。ところで、スプリットが発生していないことを確認しましたか?

答えるのを助けることができる他のいくつかの入力

  1. データのサイズ、列の数、列ファミリーの数はいくつですか?
  2. インサートのスループットはどれくらいですか?
  3. HBaseリージョンサーバーにいくつのメモリを割り当てましたか?
  4. HDFSデータノードはリージョンサーバーと同じサーバー上にありますか?
  5. マシンごとにいくつのディスクがありますか?
于 2012-05-09T19:39:06.603 に答える