hbase の主要な圧縮を監視したい。知りたいテーブルごとに
- 開始時 (hbase またはユーザーによる)
- それが終わったとき
どうすればこれを監視できますか?
- JMX経由?
- UI経由?
一般に、主要な圧縮が必要であることを検出するには、どの追加パラメーターを監視する必要がありますか?
答えが少し遅れていることは承知していますが、手動でログ ファイルを確認する代わりに、ハンニバルを試してみることもできます。各地域のヒストリーグラフを提供するオープンソースのツールです。グラフは、圧縮が発生した時期と、圧縮にかかった時間を示しています。
HBase は、Apache Hadoop のメトリック システムを通じて多くのメトリックをエクスポートします。これらのメトリックは、jmx を通じても公開されます。したがって、HBase がエクスポートするメトリクスの監視を開始するには、gangliaまたはjmxを使用するのが非常に簡単な方法です。その他のオプションには、OpenTSDB と適切なエントリが含まれます。
ganglia または jmx の内部で確認するメトリックは、hbase.regionserver.compactionQueueSize です。これは、スケジュールされた圧縮の数です。
RegionServer UI には、compactionQueueSize などの一部のメトリックのコピーも含まれています。HBase の新しいバージョンは見栄えが良くなりますが、これは例を示しています。
これは、hbase バージョン 0.96 および 0.98 の場合です。
<hbase.master.ip>:<hbase.master.info.port>/dump
コンパクションが開始され、 HBaseコンパクションのステータスが次の場所から収集できる場合:
10.4.4.40:60010/dump
というタイトルのセクションの下
サーバー:
<hostname>,60020,1406845954503: ...<other stuff here>...
totalCompactingKVs=9121040186, currentCompactedKVs=14351361679,
compactionProgressPct=1.5734347,...
compactionProgressPct
現在かき回している完了した圧縮のパーセンテージを示します。
圧縮をよりわかりやすく表示する方法は次のとおりです。
http://<hbase.regionserver.ip>:<hbase.regionserver.info.port>/rs-status#queueStats
次のような統計が表示されます。
JMX を介して圧縮ステータスを取得できます。
CompactionQueueSize、compactionSizeNumOps、compactionSizeAvgTime、compactionSizeMinTime、compactionSizeMaxTime、compactionTimeNumOps、compactionTimeAvgTime、compactionTimeMinTime、compactionTimeMaxTime
http://hbase.apache.org/metrics.htmlに示されているように、JMX メトリックを有効にします。
ここから JMX の例をダウンロードできます。