LoginSignup
0
0

More than 5 years have passed since last update.

【LINE DEV DAY 2017】HBase at LINE 2017 #line_devday

Posted at

LINEのトラフィックを支えるHBaseという技術について

LINEのメッセージングサービスにおけるHBaseエンジニアリングについて
運用環境の改善、HBase 0.90.6から1.2.5へのサービス無停止でのアップグレード、HBaseの新機能の活用事例などについて

HBaseについて

LINEで使われているOSSのNoSQLデータベース

どこで使っているか?

Messaging
GAME Platform
Timeline
Statistics

どんなデータを入れているか?

user
addressbook
backup
など

オペレーション

HBase運用専用チームはいない
Operator = Developer

モニタリング環境

プロメテウス(Prometheus)を使用している
クラスターごとのPrometheusを集めるためのPrometheusも使用している。(こちらはポーリング間隔は長めにしている)

HBase Versions

最新版は1.3。
今までLINEでは、安定版0.90.6-cdh3u5を使用していて、順次1.2へアップグレードしている。

バージョン切り替え手順

dual write (0.9と1.2のDB両方に書き込み)
bulk copy (0.9のデータを1.2にコピー)
testing phase (移行したデータの確認)

HBaseアップグレード当たって

パフォーマンスの測定
Kafka -> Shadow環境に本番運用とほぼ同じ負荷で測定可能にしている。

HBase 0.90から1.20への切り替え

HBaseクライアントにパッチを当てた。
2~3週間はちゃんと動いていたが、徐々にレスポンスタイムが悪くなっていった。

アップグレードして良かったか?

BucketCache

昔はCacheをJVMのヒープに持っていたが、1.2からはヒープ外に持つようになったため、GCの対象にならずパフォーマンスがあがった。
しかし、移行は簡単ではなく色々な課題を解決する必要があった。

まとめ

機能面でも性能面でも恩恵を受けている。
もうすぐHBase 2.0が出るという噂。
今後も継続してアップグレードしていく必要がある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0