HDFS-HA高可用性メカニズム

1.HDFS-HAの概要

1)高い利用可能ないわゆるHA()、すなわち、高可用性(7 * 24時間の中断のないサービス)。

2)主要な戦略は、高可用性を実現することにある単一障害点を排除します:厳密HA HA機構は様々な構成要素に分割されるべきであるHDFS HA及びY HAのARN

Hadoop2.0、HDFSクラスタ名前ノードの障害(SPOF)の一点)3前。

2つの方法で4)名前ノード大きな影響HDFSクラスタ

  • 管理者が再起動されるまで、このようなダウンタイムなどの名前ノードマシンの事故は、クラスタが使用できなくなります
  • 名前ノードマシンは、ソフトウェア、ハードウェアのアップグレードを含め、アップグレードする必要があり、この時間はクラスタを使用することはできません

HDFS HA構成によるアクティブ・スタンバイ2 nameNodes /クラスタに実装調製熱名前ノード上記課題を解決するために故障が、このような機械やクラッシュアップグレードおよび保守する必要があるマシンとして、発生した場合、スイッチはすぐに別のマシンにこの方法で名前ノードすることができます。

(故障の二重名前ノード単一点により)

2.HDFS-HAメカニズム

2.1 HDFS-HA作業点

1)メタデータ管理のアプローチは、変更が必要です。

  • メモリ、ジャーナルメタデータを保持します。
  • 編集がアクティブ状態が書き込み操作を行うことができる唯一の名前ノードのノードを記録します。
  • 名前ノード2人の編集が読み取ることができます。
  • 共有ストレージ管理における編集のシェア(qjournalとNFS 2つの主流を達成します)。

2)の必要ステータス管理モジュール(zkfailover)

  • これはzkfailover、名前ノードの各ノードの居住者を実装します
  • その名前ノードのノードが状態識別ZKを用いて監視する責任各zkfailover
  • 状態の必要性は、切り替え時の脳のスプリット現象を防止する必要性を切り替えるための責任zkfailoverから切り替えることができたとき。

3)2つの名前ノード間で保証されなければならないパスワードなしでSSHログイン

すなわち、4)の単離(フェンス)、外部の唯一の名前ノードがあると同時にサービス

2.2 HDFS-HA自動フェイルオーバー機構

HDFS haadmin -failoverコマンドは、アクティブな名前ノードは、システムが自動的に名前ノード名前ノードをアクティブからスタンバイに移行しません、失敗した場合でも、次の展開HA自動フェールオーバーを設定する方法を学び、このモードでは、手動で失敗する可能性があります使用してください。:自動フェイルオーバーは、HDFSの展開には、2つの新しいコンポーネントを追加ZooKeeperのZKFailoverController(ZKFC)プロセスを。(ZooKeeperの調整は、これらのデータのクライアントの障害サービスの可用性を変更し、監視するためにクライアントに通知し、少量のデータを維持することです。)

自動転送は、HAの障害に依存の機能のZooKeeper以下

1 )障害検出:各名前ノードは中のZooKeeperで維持クラスタ持続会話場合、セッションが終了するのZooKeeper、マシンがクラッシュし、別のZooKeeper名前ノードがフェイルオーバーをトリガーする必要があります注意してください。

2 )アクティブ名前ノードの選択: ZooKeeperのアクティブ状態で単一のノードを選択するための単純なメカニズムを提供します。現在アクティブなデューティ名前ノードがクラッシュした場合、別のノードができるのZooKeeperから特別な排他ロックを取得することがアクティブ名前ノードになるべきであることを示すために。

ZKFC自動フェイルオーバー内の別の新しいコンポーネントを、ZooKeeperのクライアントでも名前ノードの状態を監視および管理、。各実行名前ノードのホストはまたのためZKFCが責任を負う、ZKFCプロセスを実行します:

1 )ヘルスモニタリング: ZKFCは、定期的にpingを実行して同じホストにヘルスチェックコマンドの名前ノードを使用している限り、健康名前ノードの状態が応答しないよう、ZKFCはノードが正常であることだと思います。ノードは、クラッシュフリーズまたは不健康な状態になる場合は、ヘルスモニタは、非健康のためのノードを識別する。

2 )のZooKeeper セッション管理:ローカル名前ノードがセッション中に開いたのZooKeeperを保つために、ZKFC健康です。アクティブ状態のローカル名前ノードは、ZKFCも過渡ノード用のZooKeeperのサポートを使用して特別なのznodeロックを維持した場合、セッションが終了した場合、ノードは自動的に削除ロックされます。

3 )のZooKeeperに基づいて選択:ローカル名前ノードが健全である、とZKFCが現在のznodeロックを保持している他のノードが見つからない場合、それは自分自身のためにロックを取得します。成功した場合、それは選択を獲得し、その地域の名前ノードがアクティブになるように、フェイルオーバー・プロセスを実行する責任がありました。上述したフェイルオーバーと手動フェイルオーバー・プロセスは、転送に類似して、必要な保護の前に最初の活性名前ノード場合、ローカル名前ノードは、活性状態に変換します。

 

おすすめ

転載: www.cnblogs.com/MWCloud/p/11237353.html