Hadoopが--HA連邦をご紹介します
Hadoopの1.0と高可用性、スケーラビリティの面でHDFS MapReduceの問題:
- HDFSの問題
•名前ノードの単一障害点、困難はオンラインシーンHAを適用します
•名前ノードの圧力、およびメモリは、影のスケーラビリティF限られています
- MapReduceの問題サウンドシステム
•JobTrackerアクセス圧力、システムの拡張性に影響を与えます
このようようにスパーク、嵐やなどのMapReduceの計算フレームワークに加えて、サポートする•難しいです。
HDFS、MapReduceの糸3つの分岐および構成によって-Hadoop 2.xの。
•HDFS:(連邦)NN連盟、HA;
-2.X:それは、マルチプライマリバックアップを実現するために2つだけのノードHA、3.0をサポートしています
•MapReduceの:MRはYARN上で実行されています。
- I / Oが算出されているディスクに基づいて、オフライン計算
•YARN:資源管理システム。
HA(高可用性、問題を解決するための単一障害点):スタンバイ名前ノードソリューション、•プライマリ名前ノードで障害が発生した場合、スタンバイ名前ノードに切り替えます。
連邦( - 限られたメモリの問題を解決する):水平方向のスケーリングは、複数の名前ノードをサポートしています。ディレクトリの一部を担当する各名前ノード、すべての名前ノードデータノードは、すべてのストレージ・リソースを共有しています。
HAプロセス:
- 主备名前ノード
- 単一障害点を解決するために、(位置属性)
•メイン名前ノードの外部サービスは、マスターのメタデータを同期する機器名前ノード名前ノードが切り替えられます
•すべてのデータノード報告ブロック情報(位置)2名前ノード間
•JNN(ジャーナルノード):2つの名前ノードのログファイル共有の共有クラスタ(プロパティ)、同じデータを保持します。
•スタンバイ:スタンバイノードは、新たな画像を生成するために合併edits.logファイルを完了し、ANNを押し戻さ
- スイッチの選択の二種類
•手動切替:スタンバイコマンドの切り替え、およびので、HDFSをアップグレードするために使用することができます
•自動切り替え:ベースの飼育係(タスクスケジューリング管理)を達成します
- 飼育係基づく自動スイッチング方式
•ZooKeeperのフェイルオーバーコントローラ:名前ノード監視健康状態、
•飼育係と登録した名前ノード
•名前ノードハング、ロック用ZKFC名前ノード大会の後、ロック名前ノードはZKFCがアクティブになり得ます。
一般に、hadoop2.0内の2人の名前ノード、アクティブ状態の1種からなる他方が待機状態にあります。アクティブな名前ノード外部サービス、およびスタンバイ名前ノードは、それが失敗したときにすぐに切り替えることができるようにだけ同期アクティブな名前ノードの状態のサービスを提供していません。プライマリ間セットJournalNode同期メタデータ情報によって名前ノード限り、データが正常JournalNode即ち最も正常に書き込まれたものに書き込まれます。典型的には、奇数JournalNodeを構成。また、Active名前ノードハングは、スタンバイ名前ノードは自動的にスタンバイ状態に切り替わりZKFC(DFSZKFailoverController)フェイルオーバーのためのクラスタの飼育係、とそこに搭載されています。
•HDFS 2.xの連盟
- 複数のノードに分配複数の名前ノード/名前空間のメタデータを格納し、管理することにより、Shidaoの名前ノード/名前空間は、機械のレベルを増加させることによって拡大することができます。
–能把单个namenode的负载分散到多个节点中,在HDFS数据规模较大的时候不会也降低HDFS的性能。可以通过多个namespace来隔离不同类型的应用,把不同类型应用的HDFS元数据的存储和管理分派到不同的namenode中。