SlideShare a Scribd company logo
1 of 18
Hadoop Source Code
    Reading 11th




                                        CDH4.0.0のNameNode HAを触ってみて


                                        07/30/2012
                                        NTT DATA Corporation
                                        Shinichi Yamashita




Copyright © 2012 NTT DATA Corporation
自己紹介


• Shinichi Yamashita (山下 真一)
• NTTデータでHadoopを扱っている...

• 仕事での最近の取り組み
 • サポート関係
 • エコシステム評価
 • 案件対応
• 最近思っていること
 • すそ野を広げることは大切だ!
 Copyright © 2012 NTT DATA Corporation   2
おさらい: HDFSの可用性


• DataNode ・・・                            障害発生時にサービス継続できる仕組み ○
 • ブロック(ファイルを一定サイズで分割されているもの)を
   分割、レプリカを保存
 • NameNodeとの通信により、異常が発生した場合に、レプ
   リカ再配置が自動的に実行
• NameNode ・・・                            ダウン = HDFSサービスの停止 ×


• 四六時中データ操作、ジョブ実行するようなケースで
  は、HDFSサービス停止は頭が痛い
 • 連鎖的な後続処理の遅延
 • 分析等処理遅延による機会損失
  Copyright © 2012 NTT DATA Corporation                          3
Common method of the availability of NameNode

• CDH3, Hadoop 1.0 ...
 •      Pacemaker + DRBD (Cold-Standby) : share NN-meta directory
 •      AvatarNode (Facebook)


                                                           HDFS

                                             NameNode                 NameNode
                                                          mirror
                                               DRBD                     DRBD
                                                         Clustering
 Control                                     Pacemaker                Pacemaker   Control



                                              Active                  Standby
     Copyright © 2012 NTT DATA Corporation                                                  4
Issues on common method of the availability of NameNode

• Re-run of MapReduce Job during NameNode fail over
  • 実行されているジョブはやり直し
  • mapred.jobtracker.restart.recover で途中から実行できる ?

• Safe mode time to start NameNode service
  • less 10min : 3 - 100 DataNodes
  • 30min – 60min : 100+ DataNodes (10+ million blocks) ...

• クラスタ起動やジョブの再実行など、あるべき姿に戻すための時間は
  必要




  Copyright © 2012 NTT DATA Corporation                       5
NameNode HA (Hadoop 2.0)

• Hadoop 2.0 では、NameNode HAが鋭意開発中
• CDH 4.0.0 では、足回りにNFSを利用する方式でリリース済み
・NameNodeプロセスの監視          ZooKeeper     quorum
                                                                                      NameNode(Act,
・フェンシング実行                                                                             Sby) 状態の管理
・Act, Sbyへの状態遷を実行
                ZooKeeper           ZooKeeper


  監視                                ZKFC                         フェンシング               ZKFC
                              NameNode                                          NameNode
                                                      チェックポイント通信
   Active                                                        edits共有                     Standby
                                                           NFS
                                                         共有ディスク

                                           DataNode   DataNode             DataNode

                                                                 ・・・

   Copyright © 2012 NTT DATA Corporation                                                               6
NameNode異常発生時の切り替え

• たとえば、ActiveのNameNodeプロセスが故障・消滅した場合
    2. ZKFCがZKに
                                                                                      7. 新NameNode
    NameNodeサービ                               quorum         ZooKeeper                   情報通知
     ス停止を通知
ZKでのロック解放
                                                                                            4. 旧ActNN疎通確認
                                                ZooKeeper                  ZooKeeper
3. 新NameNode選
                                                                                                      旧ActNNをSbyに
    択指示                                                                                               変更しようと試行
                                                                  5. フェンシング
                                   ZKFC                                                     ZKFC
                                                       フェンシング

                             NameNode                                                      NameNode
                                                Active->消失               Standby->Active
                                                                                                       6. NameNode
                                                                     edits共有
   1. ZKFCが                                                                                           Act系に切り替え
                                                                  NFS
 NameNodeの異                                                     共有ディスク
    常を検知


                                           DataNode    DataNode                 現用系のZKFCがロックを
                                                                                 DataNode
                                                                                解放し、待機系のZKFCか
                                                                                  らフェンシングを実行
                                                                         ・・・
   Copyright © 2012 NTT DATA Corporation                                                                             7
ZKFC異常発生時の切り替え

• たとえば、Active系のZKFCがプロセス故障の場合
                                            quorum         ZooKeeper                        1. ZKFC消失
                                                                                                確認

                                              ZooKeeper                 ZooKeeper                   2. 新NameNode決
                                                                                                          定
                                                     4. ZooKeeper状態
                                 ZKFC                      更新
                                                                                        ZKFC
                                                              3.NameNode状態
                           NameNode                               切り替え                   NameNode
                                              Active->Standby            Standby->Active
                                                                edits共有

                                                              NFS
                                                            共有ディスク


                                         DataNode    DataNode                  DataNode
                                                                                  待機系のZKFCが
                                                                               NameNodeのActiveと
                                                                      ・・・
                                                                               Standbyを切り替える
 Copyright © 2012 NTT DATA Corporation                                                                              8
いくつかの故障を想定して動作させてみる



                                           ZooKeeper   ×3でQuorum   DataNode   ×3
処理用LAN




                                        ZKFC                                   ZKFC

                                NameNode                                      NameNode


                                   現用系                   NFSサーバ                待機系
NFSはsoft
 マウント                                      IPMI                                    IPMI

運用LAN


※ 本方式を利用する場合、待機系NameNodeがSecondaryNameNodeの役割を果たす
Copyright © 2012 NTT DATA Corporation                                                     9
いくつかの故障を想定して動作させてみる

<確認結果> ※ 多重故障は、考慮していない

    No                                        異常         待機系への切り替え
     1                          現用系NameNodeプロセス故障           ○
     2                                   現用系ZKFCプロセス故障      ○
     3                             現用系NameNodeサーバ故障         ○
                                                                      両系
     4                    現用系NameNodeサービスLAN故障              ○       NameNode
                                                                    プロセス停止
     5                           現用系NameNodeディスク故障          ○
     6                                     NFSサーバ故障         ×
     7               MapReduceジョブ実行中の現用系故障                  ○       処理継続
     8                                   HDFS操作中の現用系故障      ○

                                                             処理継続



 Copyright © 2012 NTT DATA Corporation                                         10
NameNode HAのポイント その1

その1 : フェンシング 方法 (o.a.h.ha.NodeFencerクラス)
(1)sshfence (o.a.h.ha.SshFenceByTcpPortクラス)
  •          異常発生時に、SSHで現用系サーバに接続、fuserコマンドでNameNodeプロセス
             を停止
  •          実行されるコマンド : fuser –v –k –n tcp <現用系NameNode RPCポート>
(2)shellfence (o.a.h.ha.ShellCommandFencerクラス)
  •          各自で用意したシェルスクリプトによって、現用系を停止
  •          今回は、IPMI経由でサーバを停止するスクリプトを用意


• フェンシングを実行する場合は、sshfence + shellfenceの組み合わせ
  が大切です(sshfenceだけでは×)
  • shellfenceは、複数のシェルスクリプトを利用することが可能、対処の影響度が小
    さい順番に実行すること


   Copyright © 2012 NTT DATA Corporation                           11
NameNode HAのポイント その2

その2 : NFSサーバ

(1)マウント設定 : ソフトマウントでマウントすること
  • ハードマウントの場合、NFS接続のNIC異常の場合に無応答になる
    ケースあり
  • Cloudera 推奨設定 tcp,soft,intr,timeo=60,retrans=10

(2)NFSサーバ自身の対策
  • 現在の実装では、単一故障点(SPOF)であるためHA化が必要
  • 複数のNFSサーバのマウント先に記述するような実装が必要か?




  Copyright © 2012 NTT DATA Corporation               12
NameNode HAのポイント その3

その3 : フェデレーションとの関係
• Namespace単位で、HA環境を実現することは可能

• 設定
 •      fs.defaultFS (fs.default.name)
            • アクセス先となるNamespace名を入れる
 •      dfs.nameservices : それぞれのNamespaceを定義
            • フェデレーション実施時には、カンマ区切りで記述(特にDataNode)
 •      dfs.ha.namenodes.<Namespace名> : HA対象のNameNode識別名
 •      dfs.namenode.rpc-address.<Namespace名>.<NameNode識別名>
 •      dfs.namenode.http-address. <Namespace名>.<NameNode識別名>




 Copyright © 2012 NTT DATA Corporation                          13
NameNode HAのポイント その4

その4 : Full GC発生時の考慮 : タイムアウト設定は意識すること

• NameNode HAでは現用系、待機系ともにメタ情報、ブロック情報を
  ヒープメモリで管理する
• 待機系のNameNodeは、従来のSecondaryNameNodeのようにチェッ
  クポイント(editsをfsimageにマージ、現用系に転送)を実施する
• 大量データ削除などにより、両系で同時にFull GCが発生する可能性
  がある・・・かもしれない
• 両系同時にFull GCが発生する場合は、Full GCから復活すればサービ
  スを継続できる(現用系が先の復旧の場合はもちろん、待機系でも)

• とはいえ、ha.health-monitor.rpc-timeout.ms プロパティにより
  NameNodeで発生するFull GC時間をもとにタイムアウト値を変更する
  ことで対処できる(デフォルト60000ミリ秒)
  Copyright © 2012 NTT DATA Corporation            14
NameNode HAのポイント その5


その5 : NameNodeメタ領域 : 1.0系から少々変わっています

• fsimage : 保存世代数を設定できる
 •       保存世代数 : 2世代 (dfs.namenode.num.checkpoints.retained)
 •       チェックポイント間隔 : 3600秒(dfs.namenode.checkpoint.period)


• edits : 間隔が短くなった
 • 保存世代数 : 1,000,000世代(dfs.namenode.num.extra.edits.retained)
 • チェックポイント間隔 : 120,000ミリ秒 (dfs.ha.log-roll.period)


edits保存世代数など、値をチューニングして利用したほうが良いようなパ
ラメータも有り


  Copyright © 2012 NTT DATA Corporation                         15
雑感


• MapReduceジョブが継続できるという点は魅力的
  • これまでの方式で切り替わるタイミングでジョブ実行中が結構な割
    合であったため
  • 切り替え後のあるべき姿への復旧で結構時間を要しているため
• 守るべきポイントがNFSに変わっただけ(むしろ増えた)
  • NFSサーバにHAクラスタミドルを適用する?
  • 複数のNFSサーバに書き込んでどれか1つでも成功すればOKな仕
    組みがあれば、、、
• モニターする仕組みも足りないので、作りこむ必要あり
  • ZKFCの情報取得
  • チェックポイント動作の状況確認

• さらにプロパティが増えた
 Copyright © 2012 NTT DATA Corporation   16
まとめ


• NameNode HAは、NFSでもOKであれば利用できそうか...?

• 構成や設定は、十分検証したうえで決めること

• 本当のHAという意味では、おとなしくBookKeeperを待つべき

• もっと別の技術を組み合わせるという方法も
  • フォールトトレラント技術?




 Copyright © 2012 NTT DATA Corporation   17
Thank you!

Copyright © 2011 NTT DATA Corporation




Copyright © 2012 NTT DATA Corporation

More Related Content

What's hot

PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)NTT DATA Technology & Innovation
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...Tatsuya Watanabe
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介ksk_ha
 
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...Insight Technology, Inc.
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化Takatoshi Matsuo
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316ksk_ha
 
Stormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIStormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIAdvancedTechNight
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)Daichi Egawa
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化kazuhcurry
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介Insight Technology, Inc.
 
Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908ksk_ha
 
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介Masao Fujii
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)Uptime Technologies LLC (JP)
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介Daichi Egawa
 

What's hot (20)

PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316
 
Stormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIStormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPI
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
 
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
 
Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908
 
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介
 

Similar to CDH4.0.0のNameNode HAを触ってみて

Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512Seiichiro Ishida
 
シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例Naoto MATSUMOTO
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudsamemoon
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Japan
 
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Yuki Gonda
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計maebashi
 
Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門AdvancedTechNight
 
Cassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるCassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるKazutaka Tomita
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In LockRyota Watabe
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)SolarisJPNight
 
Jubatus workshop - 分散処理の仕組み
Jubatus workshop - 分散処理の仕組みJubatus workshop - 分散処理の仕組み
Jubatus workshop - 分散処理の仕組みJubatusOfficial
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会Takahiro Iwase
 
C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎Insight Technology, Inc.
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)NTT DATA OSS Professional Services
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssTakahiro Iwase
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 

Similar to CDH4.0.0のNameNode HAを触ってみて (20)

Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
 
シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例シーサーでのInfiniBand導入事例
シーサーでのInfiniBand導入事例
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料
 
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 
Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門
 
Cassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるCassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考える
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In Lock
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
 
Jubatus workshop - 分散処理の仕組み
Jubatus workshop - 分散処理の仕組みJubatus workshop - 分散処理の仕組み
Jubatus workshop - 分散処理の仕組み
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会
 
C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ss
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Hadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/SpringHadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/Spring
 

More from NTT DATA OSS Professional Services

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力NTT DATA OSS Professional Services
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 

More from NTT DATA OSS Professional Services (20)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

CDH4.0.0のNameNode HAを触ってみて

  • 1. Hadoop Source Code Reading 11th CDH4.0.0のNameNode HAを触ってみて 07/30/2012 NTT DATA Corporation Shinichi Yamashita Copyright © 2012 NTT DATA Corporation
  • 2. 自己紹介 • Shinichi Yamashita (山下 真一) • NTTデータでHadoopを扱っている... • 仕事での最近の取り組み • サポート関係 • エコシステム評価 • 案件対応 • 最近思っていること • すそ野を広げることは大切だ! Copyright © 2012 NTT DATA Corporation 2
  • 3. おさらい: HDFSの可用性 • DataNode ・・・ 障害発生時にサービス継続できる仕組み ○ • ブロック(ファイルを一定サイズで分割されているもの)を 分割、レプリカを保存 • NameNodeとの通信により、異常が発生した場合に、レプ リカ再配置が自動的に実行 • NameNode ・・・ ダウン = HDFSサービスの停止 × • 四六時中データ操作、ジョブ実行するようなケースで は、HDFSサービス停止は頭が痛い • 連鎖的な後続処理の遅延 • 分析等処理遅延による機会損失 Copyright © 2012 NTT DATA Corporation 3
  • 4. Common method of the availability of NameNode • CDH3, Hadoop 1.0 ... • Pacemaker + DRBD (Cold-Standby) : share NN-meta directory • AvatarNode (Facebook) HDFS NameNode NameNode mirror DRBD DRBD Clustering Control Pacemaker Pacemaker Control Active Standby Copyright © 2012 NTT DATA Corporation 4
  • 5. Issues on common method of the availability of NameNode • Re-run of MapReduce Job during NameNode fail over • 実行されているジョブはやり直し • mapred.jobtracker.restart.recover で途中から実行できる ? • Safe mode time to start NameNode service • less 10min : 3 - 100 DataNodes • 30min – 60min : 100+ DataNodes (10+ million blocks) ... • クラスタ起動やジョブの再実行など、あるべき姿に戻すための時間は 必要 Copyright © 2012 NTT DATA Corporation 5
  • 6. NameNode HA (Hadoop 2.0) • Hadoop 2.0 では、NameNode HAが鋭意開発中 • CDH 4.0.0 では、足回りにNFSを利用する方式でリリース済み ・NameNodeプロセスの監視 ZooKeeper quorum NameNode(Act, ・フェンシング実行 Sby) 状態の管理 ・Act, Sbyへの状態遷を実行 ZooKeeper ZooKeeper 監視 ZKFC フェンシング ZKFC NameNode NameNode チェックポイント通信 Active edits共有 Standby NFS 共有ディスク DataNode DataNode DataNode ・・・ Copyright © 2012 NTT DATA Corporation 6
  • 7. NameNode異常発生時の切り替え • たとえば、ActiveのNameNodeプロセスが故障・消滅した場合 2. ZKFCがZKに 7. 新NameNode NameNodeサービ quorum ZooKeeper 情報通知 ス停止を通知 ZKでのロック解放 4. 旧ActNN疎通確認 ZooKeeper ZooKeeper 3. 新NameNode選 旧ActNNをSbyに 択指示 変更しようと試行 5. フェンシング ZKFC ZKFC フェンシング NameNode NameNode Active->消失 Standby->Active 6. NameNode edits共有 1. ZKFCが Act系に切り替え NFS NameNodeの異 共有ディスク 常を検知 DataNode DataNode 現用系のZKFCがロックを DataNode 解放し、待機系のZKFCか らフェンシングを実行 ・・・ Copyright © 2012 NTT DATA Corporation 7
  • 8. ZKFC異常発生時の切り替え • たとえば、Active系のZKFCがプロセス故障の場合 quorum ZooKeeper 1. ZKFC消失 確認 ZooKeeper ZooKeeper 2. 新NameNode決 定 4. ZooKeeper状態 ZKFC 更新 ZKFC 3.NameNode状態 NameNode 切り替え NameNode Active->Standby Standby->Active edits共有 NFS 共有ディスク DataNode DataNode DataNode 待機系のZKFCが NameNodeのActiveと ・・・ Standbyを切り替える Copyright © 2012 NTT DATA Corporation 8
  • 9. いくつかの故障を想定して動作させてみる ZooKeeper ×3でQuorum DataNode ×3 処理用LAN ZKFC ZKFC NameNode NameNode 現用系 NFSサーバ 待機系 NFSはsoft マウント IPMI IPMI 運用LAN ※ 本方式を利用する場合、待機系NameNodeがSecondaryNameNodeの役割を果たす Copyright © 2012 NTT DATA Corporation 9
  • 10. いくつかの故障を想定して動作させてみる <確認結果> ※ 多重故障は、考慮していない No 異常 待機系への切り替え 1 現用系NameNodeプロセス故障 ○ 2 現用系ZKFCプロセス故障 ○ 3 現用系NameNodeサーバ故障 ○ 両系 4 現用系NameNodeサービスLAN故障 ○ NameNode プロセス停止 5 現用系NameNodeディスク故障 ○ 6 NFSサーバ故障 × 7 MapReduceジョブ実行中の現用系故障 ○ 処理継続 8 HDFS操作中の現用系故障 ○ 処理継続 Copyright © 2012 NTT DATA Corporation 10
  • 11. NameNode HAのポイント その1 その1 : フェンシング 方法 (o.a.h.ha.NodeFencerクラス) (1)sshfence (o.a.h.ha.SshFenceByTcpPortクラス) • 異常発生時に、SSHで現用系サーバに接続、fuserコマンドでNameNodeプロセス を停止 • 実行されるコマンド : fuser –v –k –n tcp <現用系NameNode RPCポート> (2)shellfence (o.a.h.ha.ShellCommandFencerクラス) • 各自で用意したシェルスクリプトによって、現用系を停止 • 今回は、IPMI経由でサーバを停止するスクリプトを用意 • フェンシングを実行する場合は、sshfence + shellfenceの組み合わせ が大切です(sshfenceだけでは×) • shellfenceは、複数のシェルスクリプトを利用することが可能、対処の影響度が小 さい順番に実行すること Copyright © 2012 NTT DATA Corporation 11
  • 12. NameNode HAのポイント その2 その2 : NFSサーバ (1)マウント設定 : ソフトマウントでマウントすること • ハードマウントの場合、NFS接続のNIC異常の場合に無応答になる ケースあり • Cloudera 推奨設定 tcp,soft,intr,timeo=60,retrans=10 (2)NFSサーバ自身の対策 • 現在の実装では、単一故障点(SPOF)であるためHA化が必要 • 複数のNFSサーバのマウント先に記述するような実装が必要か? Copyright © 2012 NTT DATA Corporation 12
  • 13. NameNode HAのポイント その3 その3 : フェデレーションとの関係 • Namespace単位で、HA環境を実現することは可能 • 設定 • fs.defaultFS (fs.default.name) • アクセス先となるNamespace名を入れる • dfs.nameservices : それぞれのNamespaceを定義 • フェデレーション実施時には、カンマ区切りで記述(特にDataNode) • dfs.ha.namenodes.<Namespace名> : HA対象のNameNode識別名 • dfs.namenode.rpc-address.<Namespace名>.<NameNode識別名> • dfs.namenode.http-address. <Namespace名>.<NameNode識別名> Copyright © 2012 NTT DATA Corporation 13
  • 14. NameNode HAのポイント その4 その4 : Full GC発生時の考慮 : タイムアウト設定は意識すること • NameNode HAでは現用系、待機系ともにメタ情報、ブロック情報を ヒープメモリで管理する • 待機系のNameNodeは、従来のSecondaryNameNodeのようにチェッ クポイント(editsをfsimageにマージ、現用系に転送)を実施する • 大量データ削除などにより、両系で同時にFull GCが発生する可能性 がある・・・かもしれない • 両系同時にFull GCが発生する場合は、Full GCから復活すればサービ スを継続できる(現用系が先の復旧の場合はもちろん、待機系でも) • とはいえ、ha.health-monitor.rpc-timeout.ms プロパティにより NameNodeで発生するFull GC時間をもとにタイムアウト値を変更する ことで対処できる(デフォルト60000ミリ秒) Copyright © 2012 NTT DATA Corporation 14
  • 15. NameNode HAのポイント その5 その5 : NameNodeメタ領域 : 1.0系から少々変わっています • fsimage : 保存世代数を設定できる • 保存世代数 : 2世代 (dfs.namenode.num.checkpoints.retained) • チェックポイント間隔 : 3600秒(dfs.namenode.checkpoint.period) • edits : 間隔が短くなった • 保存世代数 : 1,000,000世代(dfs.namenode.num.extra.edits.retained) • チェックポイント間隔 : 120,000ミリ秒 (dfs.ha.log-roll.period) edits保存世代数など、値をチューニングして利用したほうが良いようなパ ラメータも有り Copyright © 2012 NTT DATA Corporation 15
  • 16. 雑感 • MapReduceジョブが継続できるという点は魅力的 • これまでの方式で切り替わるタイミングでジョブ実行中が結構な割 合であったため • 切り替え後のあるべき姿への復旧で結構時間を要しているため • 守るべきポイントがNFSに変わっただけ(むしろ増えた) • NFSサーバにHAクラスタミドルを適用する? • 複数のNFSサーバに書き込んでどれか1つでも成功すればOKな仕 組みがあれば、、、 • モニターする仕組みも足りないので、作りこむ必要あり • ZKFCの情報取得 • チェックポイント動作の状況確認 • さらにプロパティが増えた Copyright © 2012 NTT DATA Corporation 16
  • 17. まとめ • NameNode HAは、NFSでもOKであれば利用できそうか...? • 構成や設定は、十分検証したうえで決めること • 本当のHAという意味では、おとなしくBookKeeperを待つべき • もっと別の技術を組み合わせるという方法も • フォールトトレラント技術? Copyright © 2012 NTT DATA Corporation 17
  • 18. Thank you! Copyright © 2011 NTT DATA Corporation Copyright © 2012 NTT DATA Corporation