NamenodeHA導入背景と運用状況
株式会社サイバーエージェント
アメーバ事業部 インフラシステムグループ
上原 誠
2
株式会社サイバーエージェント
自己紹介
・ ~2012年2月 某SIerでインフラ周りに従事
・ 2012年3月 サイバーエージェント入社
- Amebaスマフォプラットフォームの構築
- 統合ログ解析基盤やオンラインデータベースの
インフラミドルウェア部分を担当
- Hadoop、HBase、Flume
・ 上原 誠 (@pioho07)
【名前】
【経歴】
Facebook申請歓迎
xxxxxxxx
3
株式会社サイバーエージェント
4
株式会社サイバーエージェント
5
株式会社サイバーエージェント株式会社サイバーエージェント
スマートフォンサービス
6
株式会社サイバーエージェント株式会社サイバーエージェント
・ NamenodeHA運用状況 について
本日の内容
・ NamenodeHA導入背景 について
7
株式会社サイバーエージェント株式会社サイバーエージェント株式会社サイバーエージェント
・ NamenodeHA運用状況 について
・ NamenodeHA導入背景 について
8
AmebaではHadoopを
どう使ってきたか
9
Hadoop in Ameba
・ 2007年~ アメブロアクセス解析
- Hadoop0.13.1
- MapReduce,HDFS
・ 2009年~ Ameba Pigg
- ログ集約サーバ(HDFS)
・ 2010年~ Patriot(ログ解析基盤システム名)
- Amebaサービス全体のログ集約解析基盤
- CDH3系
- Hive
・ 2012年~ Hornet
- オンライン用途でのグラフデータ構造を扱うデータストア
- CDH3系
- HBase
・ 2013年~ ミニグラフHbase,レコメンドHBase
-オンライン用途でコミュニティアプリのデータを扱うDB
-CDH4系
-HBase
HadoopConferenceJapanキッカケ
10
NamenodeHAの必要性
11
Hadoop in Ameba
・ 2007年~ アメブロアクセス解析
- Hadoop0.13.1
- MapReduce,HDFS
・ 2009年~ Ameba Pigg
- ログ集約サーバ(HDFS)
・ 2010年~ Patriot(ログ解析基盤システム名)
- Amebaサービス全体のログ集約解析基盤
- CDH3系
- Hive
・ 2012年~ Hornet
- オンライン用途でのグラフデータ構造を扱うデータストア
- CDH3系
- HBase
・ 2013年~ ミニグラフHbase,レコメンドHBase
-オンライン用途でコミュニティアプリのデータを扱うDB
-CDH4系
-HBase
この時期までは、NameNodeに障害があっても起動し直せば
まぁいっかと割り切っていた。サービス的にも影響少なかった
12
Hadoop in Ameba
・ 2007年~ アメブロアクセス解析
- Hadoop0.13.1
- MapReduce,HDFS
・ 2009年~ Ameba Pigg
- ログ集約サーバ(HDFS)
・ 2010年~ Patriot(ログ解析基盤システム名)
- Amebaサービス全体のログ集約解析基盤
- CDH3系
- Hive
・ 2012年~ Hornet
- オンライン用途でのグラフデータ構造を扱うデータストア
- CDH3系
- HBase
・ 2013年~ミニグラフHbase,レコメンドHBase
-オンライン用途でコミュニティアプリのデータを扱うDB
-CDH4系
-HBase
この時期からはオンライン用途になり、
落ちたらダメよと言われた
13
株式会社サイバーエージェント
長い間、NamenodeはSPOF(SinglePointOfFailure)
だった。
※図はHadoopのよくある構成
Slave01
DataNode
HReagionServer
TaskTracker
Master01 Master03Master02
Secondary
Namenode
Zookeeper
HMaster
JobTracker
HMaster
マスター達 スレーブ達
Hadoopシステム
ZookeeperZookeeper
NameNode
こいつ
14
株式会社サイバーエージェント
HDFS
NameNodeに障害があるとどうなるの・・??
Hadoopシステム
OS
物理
Other
MapReduce HBase Zookeeper Other
ミドルウェア
NameNode
15
株式会社サイバーエージェント
HDFS
みんな死ぬ(((゚Д゚)))ガクブル ※(エコシステム達が)
HDFSが機能しなくなり、その上に乗っている各エコシス
テムのMapReduceとかHBaseとか機能しなくなる
Hadoopシステム
OS
物理
Other
MapReduce HBase Zookeeper Other
ミドルウェア
NameNode
16
どうにかしなくては
NamenodeのHA機能があれば・・(HAなかった時)
17
冗長性の検討しました
・OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する。
・ハードウェアFT(Fault Tolerance)サーバを使う
18
冗長性の検討しました。
・OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する。
・StratusのハードウェアFT(FaultTrerance)サーバを使う
19
OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する
メリット
-これが一般的に多い事例だった。
-OSS自体は実績十分
デメリット
-複雑になりがちで、よほどちゃんと設計試験をしないといざという時にスプリット
ブレインで死ねる。。
-入社当時一人で全部やらなければいけない上にリリース時間も限られていたの
で断念。。
20
冗長性の検討しました。
・OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する。
・ハードウェアFT(FaultTrerance)サーバを使う
21
FTサーバを使う
メリット
-ハードウェアのレベルでの冗長性なので安心。
-メモリ情報もロストしない。当初メタデータが数十ギガの想定だったので起動しな
おしだとメモリに乗せるだけで時間かかる
デメリット
-高い
-メンテが打てない
-高い(2回目)
22
NamenodeHA出た!ので検証・導入しました
・CDH4.0.0を検証。待望のHA機能だった。
-CDH4.0.0はHA構成にするためにNFSが必須だった
-導入は見送った
・CDH4.1.0を検証・導入
-CDH4.1.0以降はNFS不要
NFSの代わりにQuorumJournalManagerを使う
-CDH4.1.0リリース後1ヶ月以内に「えいやー」で導入した
※個人的には4.1.0からがHA対応したCDHと思ってる
23
NamenodeHA出た!ので検証・導入しました
仕組みや考え方は一般的なクラスタソフトと同様
設定パラメータはそんなに多くない
スプリットブレイン試験は入念に
24
検証結果は?
25
株式会社サイバーエージェント株式会社サイバーエージェント
障害試験 概ね良好
Master01
NN
Master02
ZK ZK
HM
ZKFC ZKFC
JN JN
NN
・NN01 プロセスダウン時
ZKFCが障害を検知しNN02をアクティブへ移行
HDFS、HBaseへの書き込み続けたがともに問題なし
active
・はまったとこ
フェンシングの方法は2種類ありsshfenceのみの設定だと
リトライを繰り返して切り替わらない。Gracefulfencing
のタイムアウトがconf上にはなく20sでハードコーディン
グされてるなど
この辺↓
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence
shell(true)</value>
</property>
26
株式会社サイバーエージェント
運用オペレーション
・フェイルオーバ
hdfs haadmin -failover <serviceID>
・状態確認
hdfs haadmin -getServiceState <serviceId>
activeとかstandbyとか返ってくるだけ
シンプル
27
構成どうなったの?
28
株式会社サイバーエージェント
HA導入前
Slave01
DataNode
HReagionServer
TaskTracker
Master01 Master03Master02
Secondary
Namenode
ZookeeperK
HMaster
JobTracker
HMaster
マスター達 スレーブ達
Hadoopシステム
ZookeeperKZookeeperK
NameNode
29
株式会社サイバーエージェント
HA導入後
Slave01
DataNode
HReagionServer
TaskTracker
Master01 Master03Master02
Standby
Namenode
Zookeeper
HMaster
JobTracker
HMaster
マスター達 スレーブ達
Hadoopシステム
ZookeeperZookeeper
NameNode
JournalNode JournalNode JournalNode
ZKFC ZKFC
30
株式会社サイバーエージェント株式会社サイバーエージェント株式会社サイバーエージェント
・ NamenodeHA運用状況 について
・ NamenodeHA導入背景 について
31
運用しててどうか?
特にHA構成にしたことによるトラブルは発生していない
JournalNode,ZKFC固有の問題も今のところない
32
障害は起きたか?
・Namenode自体の通信量が多くなることはないが、ネットワークなので他の通
信の影響を受けてしまい、ZKFCとZookeeperの通信が20s途絶えてタイムアウ
トしてしまい、Namenodeのフェイルオーバが発生した。
ただこれはHAとしては正常に機能した事例となる。
部分的なNWトラフィックの高騰により、
Namenodeがフェイルオーバした。
33
結局HAどうなの??
株式会社サイバーエージェント
Cloudera嶋内さんの資料にもある通り、HAなしでもNamenode自体の障害発生率
は低いようです。
ただ、検証した結果や計画メンテ(これ大きい)できる点含めると、導入メリットは大
きいです。というか今後はマストと思ってます。
既存システムについても、随時バージョンアップのタイミングでHA構成へ移行してい
ます。
34
株式会社サイバーエージェント
ご清聴ありがとうございました!

NamenodeHA導入背景と運用状況