1	
  
5分でわかる	
  Apache	
  HBase	
  最新版	
  
Sho	
  Shimauchi,	
  Cloudera	
  
2014/07/08	
  
	
  
2	
  
5分でわかる	
  Apache	
  HBase	
  最新版	
  
Sho	
  Shimauchi,	
  Cloudera	
  
2014/07/08	
  
	
  
8	
  
3	
  
Who	
  am	
  I?	
  
•  嶋内 翔(しまうち しょう)	
  
•  Clouderaの社員	
  
•  email:	
  sho@cloudera.com	
  
•  twiHer:	
  @shiumachi	
  
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	
  

5分でわかる Apache HBase 最新版 #hcj2014

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