5分でわかる apache hbase 最新版 #hcj2014
DESCRIPTION
Hadoop Conference Japan 2014 で発表した、HBaseの資料です。TRANSCRIPT
1
5分でわかる Apache HBase 最新版 Sho Shimauchi, Cloudera 2014/07/08
2
5分でわかる Apache HBase 最新版 Sho Shimauchi, Cloudera 2014/07/08
8
4
今日話すこと
5 5
hHp://ja.fotopedia.com/items/flickr-‐1999559141
6 6
hHp://ja.fotopedia.com/items/flickr-‐1999559141
7 7
hHp://ja.fotopedia.com/items/flickr-‐1999559141
もうHBaseは火山ではない
8
HBaseの復旧時間
CDHバージョン HBaseのベースバージョン 障害発生時の復旧時間
CDH3 0.90 数時間内の復旧
CDH4 0.92 / 0.94 数分以内の復旧
CDH5.0 0.96 書き込みは数秒以内、読み出しは10秒以内の復旧
HBaseは復旧時間が最大の問題の一つだった
9
Mean Time To Recovery (MTTR) 平均修復時間
• そもそも分散システムではHW障害はよくある話 • 障害から自動的に復旧するまでの時間がダウンタイムとなる
復旧 通知 修復 検知
リージョン障害 リージョン復旧済 クライアント検知済
リージョン復旧済 クライアント未検知
10
分散ログ分割 (HBase 0.92)
• HBaseにおける修復は、「分割」「アサイン」「リプレイ」の3フェーズ
• 0.90 まではマスターだけでログ分割を行っていた • 0.92 からはRSで分散処理できるようになった
• 修復時間短縮に大きく貢献
復旧 リプレイ アサイン 分割
リージョン障害 リージョンで 読み書き可能
hdfs
検知
hdfs hdfs
11
障害の即時通知・検知(HBase 0.96)
• HMasterの障害を即座に通知 • RSの障害を即座に通知 • 復旧後、クライアントに通知
復旧 リプレイ アサイン 分割
リージョン障害 リージョンで 読み書き可能
hdfs
検知
hdfs hdfs
12
分散ログリプレイ(HBase 0.96)
• アサインを先にして分割+リプレイをまとめて実行 • ログ分割のworkerが新しいリージョンにWALを書きこむ • このときリージョンは書き込み可能になる(読み込みは不
可) • 書き込み可能になるまでの時間を大幅に短縮
• 0.96 ではデフォルトオフ • 1.0 ではデフォルトオンになる予定
復旧 分割とリプレイ アサイン
リージョン 障害
リージョンで読み書き可能 リージョンで 書き込み可能
hdfs
検知
13
名前空間とマルチテナント
• 名前空間の導入 (0.96) • ns1:t1 という形式でテーブルを記述できる • .META. テーブルは hbase:meta に変更になった
• マルチテナント用機能を開発中 • セキュリティ(名前空間毎のACL) (0.96) • クォータ • リソース分割 • etc.
Namespace blue Namespace green Namespace orange
14
uber hbck (0.92 / 0.94)
• hbck の機能が大幅強化 • HDFS上のデータからmetaを復旧 • HDFS上のリージョンの「穴」やオーバラップを復旧 • .regioninfo をロストしたリージョンの復旧 • etc.
• hbase hbck -‐fix はもう古い • hbase hbck -‐repair を使いましょう
15
その他諸々の機能
• HBase テーブルスナップショット (0.94) • 任意のバージョンに戻すことが可能
• HBase レプリケーション (0.92) • 別のHBaseクラスタに非同期でレプリケーションする
• オンラインリージョンマージ (0.96) • オンラインスキーマ変更 (0.96) • コンパクションポリシーの変更 (0.96)
• かしこくなった
• -‐ROOT-‐ が削除された (0.96)
16
HBase 0.98
• リバーススキャン • セルレベルのアクセスコントロール • 透過的サーバサイド暗号化 • スナップショットに対するMapReduce • Stripe compacaon
17
今日話したこと
18 18
hHp://ja.fotopedia.com/items/flickr-‐1999559141
もうHBaseは火山ではない
20