NamenodeHA導入背景と運用状況

2,572 views

Published on

Clouderaセミナーで発表する資料です

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,572
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
24
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

NamenodeHA導入背景と運用状況

  1. 1. NamenodeHA導入背景と運用状況 株式会社サイバーエージェント アメーバ事業部 インフラシステムグループ 上原 誠
  2. 2. 2 株式会社サイバーエージェント 自己紹介 ・ ~2012年2月 某SIerでインフラ周りに従事 ・ 2012年3月 サイバーエージェント入社 - Amebaスマフォプラットフォームの構築 - 統合ログ解析基盤やオンラインデータベースの インフラミドルウェア部分を担当 - Hadoop、HBase、Flume ・ 上原 誠 (@pioho07) 【名前】 【経歴】 Facebook申請歓迎 xxxxxxxx
  3. 3. 3 株式会社サイバーエージェント
  4. 4. 4 株式会社サイバーエージェント
  5. 5. 5 株式会社サイバーエージェント株式会社サイバーエージェント スマートフォンサービス
  6. 6. 6 株式会社サイバーエージェント株式会社サイバーエージェント ・ NamenodeHA運用状況 について 本日の内容 ・ NamenodeHA導入背景 について
  7. 7. 7 株式会社サイバーエージェント株式会社サイバーエージェント株式会社サイバーエージェント ・ NamenodeHA運用状況 について ・ NamenodeHA導入背景 について
  8. 8. 8 AmebaではHadoopを どう使ってきたか
  9. 9. 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. 10. 10 NamenodeHAの必要性
  11. 11. 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. 12. 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. 13. 13 株式会社サイバーエージェント 長い間、NamenodeはSPOF(SinglePointOfFailure) だった。 ※図はHadoopのよくある構成 Slave01 DataNode HReagionServer TaskTracker Master01 Master03Master02 Secondary Namenode Zookeeper HMaster JobTracker HMaster マスター達 スレーブ達 Hadoopシステム ZookeeperZookeeper NameNode こいつ
  14. 14. 14 株式会社サイバーエージェント HDFS NameNodeに障害があるとどうなるの・・?? Hadoopシステム OS 物理 Other MapReduce HBase Zookeeper Other ミドルウェア NameNode
  15. 15. 15 株式会社サイバーエージェント HDFS みんな死ぬ(((゚Д゚)))ガクブル ※(エコシステム達が) HDFSが機能しなくなり、その上に乗っている各エコシス テムのMapReduceとかHBaseとか機能しなくなる Hadoopシステム OS 物理 Other MapReduce HBase Zookeeper Other ミドルウェア NameNode
  16. 16. 16 どうにかしなくては NamenodeのHA機能があれば・・(HAなかった時)
  17. 17. 17 冗長性の検討しました ・OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する。 ・ハードウェアFT(Fault Tolerance)サーバを使う
  18. 18. 18 冗長性の検討しました。 ・OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する。 ・StratusのハードウェアFT(FaultTrerance)サーバを使う
  19. 19. 19 OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する メリット -これが一般的に多い事例だった。 -OSS自体は実績十分 デメリット -複雑になりがちで、よほどちゃんと設計試験をしないといざという時にスプリット ブレインで死ねる。。 -入社当時一人で全部やらなければいけない上にリリース時間も限られていたの で断念。。
  20. 20. 20 冗長性の検討しました。 ・OSS(Heartbeat,Pacemaker,ORDBやkemari)を駆使する。 ・ハードウェアFT(FaultTrerance)サーバを使う
  21. 21. 21 FTサーバを使う メリット -ハードウェアのレベルでの冗長性なので安心。 -メモリ情報もロストしない。当初メタデータが数十ギガの想定だったので起動しな おしだとメモリに乗せるだけで時間かかる デメリット -高い -メンテが打てない -高い(2回目)
  22. 22. 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. 23. 23 NamenodeHA出た!ので検証・導入しました 仕組みや考え方は一般的なクラスタソフトと同様 設定パラメータはそんなに多くない スプリットブレイン試験は入念に
  24. 24. 24 検証結果は?
  25. 25. 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. 26. 26 株式会社サイバーエージェント 運用オペレーション ・フェイルオーバ hdfs haadmin -failover <serviceID> ・状態確認 hdfs haadmin -getServiceState <serviceId> activeとかstandbyとか返ってくるだけ シンプル
  27. 27. 27 構成どうなったの?
  28. 28. 28 株式会社サイバーエージェント HA導入前 Slave01 DataNode HReagionServer TaskTracker Master01 Master03Master02 Secondary Namenode ZookeeperK HMaster JobTracker HMaster マスター達 スレーブ達 Hadoopシステム ZookeeperKZookeeperK NameNode
  29. 29. 29 株式会社サイバーエージェント HA導入後 Slave01 DataNode HReagionServer TaskTracker Master01 Master03Master02 Standby Namenode Zookeeper HMaster JobTracker HMaster マスター達 スレーブ達 Hadoopシステム ZookeeperZookeeper NameNode JournalNode JournalNode JournalNode ZKFC ZKFC
  30. 30. 30 株式会社サイバーエージェント株式会社サイバーエージェント株式会社サイバーエージェント ・ NamenodeHA運用状況 について ・ NamenodeHA導入背景 について
  31. 31. 31 運用しててどうか? 特にHA構成にしたことによるトラブルは発生していない JournalNode,ZKFC固有の問題も今のところない
  32. 32. 32 障害は起きたか? ・Namenode自体の通信量が多くなることはないが、ネットワークなので他の通 信の影響を受けてしまい、ZKFCとZookeeperの通信が20s途絶えてタイムアウ トしてしまい、Namenodeのフェイルオーバが発生した。 ただこれはHAとしては正常に機能した事例となる。 部分的なNWトラフィックの高騰により、 Namenodeがフェイルオーバした。
  33. 33. 33 結局HAどうなの?? 株式会社サイバーエージェント Cloudera嶋内さんの資料にもある通り、HAなしでもNamenode自体の障害発生率 は低いようです。 ただ、検証した結果や計画メンテ(これ大きい)できる点含めると、導入メリットは大 きいです。というか今後はマストと思ってます。 既存システムについても、随時バージョンアップのタイミングでHA構成へ移行してい ます。
  34. 34. 34 株式会社サイバーエージェント ご清聴ありがとうございました!

×