HDFS HAアーキテクチャと原則

  • HDFS HAアーキテクチャ
  •   HDFS HA原則
    • QJM

    • 2N + 1ストレージEditLogとJN局は、各書き込みデータ操作は、書き込みが成功したことを返すように大部分(> = N + 1)倍を有する成功した場合、データは失われません。もちろん、このアルゴリズムは、より多くのN局より、アルゴリズムが無効になった場合にハングアップするために、最大Nのマシンがハングアップすることを許容することができます。この原理はPaxosアルゴリズムに基づいています。HAアーキテクチャとは、このコールドスタンバイの役割は、メタデータマスターのActive NN、それらの間のガード、一連のインタラクティブJournalNode軽量プロセスと常に一貫スタンバイNNを維持するために、存在しませんSecondaryNameNode。変更する場合は任意の操作がActive NN上で実行され、JNプロセスはまた、少なくともJNの半分以上を記録するログを変更します。この時にスタンバイNNは内部監視し、その後同期ログが変更ログ内のJNを読み込んで変更し、JNそれはアクティブNN前になりますNN、スタンバイNN後にハングアップする活断層が発生し、画像のディレクトリツリーに同期、JNは、私たちは、高い信頼性を保証できるように、その変更ログのすべてを読み、 NN高可用性の目的を達成するように、その後シームレスに、その職務上のクライアントからの保守要求を取り、ミラーのディレクトリツリーに一貫性があるハング

 

    • ZKFC

    • Hadoopのは、3つのコンポーネントで構成され、デーモンプロセスとして各ノードの名前ノードにデプロイZKFailoverControllerロールを提供します。
      • HealthMonitor:モニタリング名前ノードが使用できないか、不健康な状態になっています。RPCメソッドを介して現在の呼完了を対応NN
      • ActiveStandbyElector:ZKで独自の地位を管理および監視
      • ZKFailoverController:HealthMonitorそれとActiveStandbyElectorイベントや状態の名前ノードの管理を購読
    • ヘルスモニタリング:マシンがダウンしている場合NNの定期的なモニタリングは、それによって健康状態の名前ノードかどうかを判断するために、そのヘルスプローブコマンドに送信され、心不全、その後、zkfcは不健康な状態でそれをマークします
    • 会话管理:如果NN是健康的,zkfc就会在zookeeper中保持一个打开的会话,如果NameNode同时还是Active状态的,那么zkfc还会在Zookeeper中占有一个类型为短暂类型的znode, 当这个NN挂掉时,这个znode将会被删除,然后备用的NN,将会得到这把锁,升级为主NN,同时标记状态为Active
    • 当宕机的NN新启动时,它会再次注册zookeper,发现已经有znode锁了,便会自动变为Standby状态,如此往复循环,保证高可靠,需要注意,目前仅仅支持最多配置2个NN
    • master选举:如上所述,通过在zookeeper中维持一个短暂类型的znode,来实现抢占式的锁机制,从而判断那个NameNode为Active状态

おすすめ

転載: www.cnblogs.com/xiangyuguan/p/11362497.html