Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Hbase勉強会(第二回)に参加してきました

こんにちは。
落合です。

昨日、HBase勉強会(第二回)に参加しました。

コアな話が聞けて非常におもしろかったです。
特に、業務系システムへの適用に関する議論の盛り上がりがすごい。
HBase、アツいです。


私自身も最近、
仕事でHBaseのクラスタも組み始めているのですが、
より効果的な設定、サーバ構成、使い方はやはり気になるところですね。

勉強会の中で出た、HBaseの注意点を挙げてみます

■ZooKeeper は単体で動かす
反応が悪くなることがあるので、
他のノードと同じマシン上では動かさないほうがよい。

■ZooKeeper は奇数台
ちなみに、ZooKeeper が3台で動いているときには、
分散合意で過半数を取った意見が採用されますが、
1台が落ちると、
残った2台のサーバの意見が一致したときに分散合意が有効となるそうです。

さらにもう1台が落ちて、
動いているのが1台だけになると、
HBaseが動かなくなります。

■Hadoopのバージョンとの相性に注意
HBaseを使う場合は、Hadoopの0.20.1のappendブランチを使う事。
フラッシュ時にデータが消える可能性がある。

Hadoop 0.21系 は、appendブランチとは別の回避策が施されているのでOK。

とりあえずCDH3を使っていれば安心。

■メジャーコンパクションは負荷の少ない時間にcronで実行がおすすめ
自動定期実行をOFFにして、
cronで実行しメジャーコンパクションをコントロールするのがよい。
突然遅くなる事態を回避できる。

■複数のRowキーにまたがったデータの操作では、Atomicity は保証されない
同じRowキーを持つデータに対しては保証されるようです。

■HBaseクラスタ上でMapReduceを動かすべきか
議論がわかれるところ。

業務系システムへの利用

その他、というかメインは、
業務系システムでの利用を考えた際の、
HBaseの課題、有効な使い方について。

しかし議論についていけず・・・。

伝票処理、受発注処理、引当処理と言われてもいまいちピンとこないな、と。

勉強が必要ですね。

今度は議論に加われるようなネタを用意して、
また参加したいです。