このHadoopチュートリアル Hadoopのラック認識がすべてです。このブログでは、 HDFSでのラック認識に関するすべてを説明します。 。
まず、HDFSラック認識プロパティとは何か、Hadoopでのラック認識の必要性について学習します。次に、HDFSのRackAwarenessを介したレプリカの配置について説明します。
最後に、HadoopフレームワークでのRackAwarenessのさまざまな利点についても説明します。
HDFSラック認識の概要
ラックの認識 Hadoopは、ラック情報に基づいてより近いデータノードを選択する概念です。デフォルトでは、Hadoopのインストールでは、すべてのノードが同じラックに属していると想定されています。
Hadoopの大規模なクラスターでHDFSファイルの読み取り/書き込み中にネットワークトラフィックを改善するため。 NameNodeは、要求の読み取り/書き込みを行うために同じラックまたは近くの岩の上にあるデータノード(クライアントノード)を選択します。 HDFS Namenodeは、各データノードのラックIDを維持することにより、このラック情報を実現します。
なぜラックを認識しているのですか?
ラック認識の主な目的は次のとおりです。
- データの信頼性とデータの可用性を向上させます。
- クラスターのパフォーマンスが向上します。
- ラック全体に障害が発生した場合のデータ損失を防ぎます。
- ネットワーク帯域幅を改善するため。
- 可能な場合は、バルクフローをラック内に保持します。
Hadoopでのラック認識によるレプリカの配置
ラック認識によるレプリカ配置の主な目的は、データの信頼性などを向上させることです。
簡単なポリシーは、ラック全体に障害が発生したときにデータが失われるのを防ぐために、レプリカをラックに配置することです。また、ファイルを読み取るときに複数のラックからの帯域幅を使用できるようにします。
複数のラッククラスターでは、ブロック レプリケーションは以下のポリシーに従います:
1つのノードに複数のレプリカを配置しないでください。また、同じラックに3つ以上のレプリカを配置しないでください。これには、ブロックレプリケーションに使用されるラックの数を常にブロックレプリカの総数より少なくする必要があるというボトルネックがあります。
例;
- Hadoopフレームワークが新しいブロックを作成すると、最初のレプリカがローカルノードに配置されます。 2つ目は別のラックに配置し、3つ目はローカルノードの別のノードに配置します。
- ブロックを再複製するときに、既存のレプリカの数が1つである場合は、2つ目を別のラックに配置します。
- 既存のレプリカの数が2つで、2つのレプリカが同じラックにある場合は、3つ目のレプリカを別のラックに配置します。
Hadoopでのラック認識の利点
次に、HadoopHDFSでのラック認識のいくつかの利点について説明します-
- より高い帯域幅と低遅延を提供– このポリシーは、ラック間ではなくラック内でブロックを転送することにより、ネットワーク帯域幅を最大化します。 YARNは、ネットワークトポロジの観点からデータに近いノードにタスクを割り当てることで、MapReduceジョブのパフォーマンスを最適化できます。
- ラックの障害に対するデータ保護を提供します– Namenodeは、2ブロックと3ブロックのブロックレプリカを最初のレプリカとは異なるラックのノードに割り当てます。したがって、ラックの障害に対してもデータ保護を提供します。ただし、これは、Hadoopがラック構成の知識を持って構成されている場合にのみ可能です。
- 書き込みコストを最小限に抑え、読み取り速度を最大化する– ラック認識、ポリシーは、同じラックにあるレプリカに読み取り/書き込み要求を配置します。したがって、これにより書き込みコストが最小化され、読み取り速度が最大化されます。
結論
結論として、データの信頼性を向上させるために、ラック情報に基づいてより近いデータノードを選択するという概念です。 Rack-Awarenessの主な目的は、ラック全体に障害が発生した場合のデータ損失を防ぐことです。また、ネットワーク帯域幅も向上します。 HDFSプロパティの詳細をご覧ください。
HadoopのRackAwarenessに関する質問がある場合は、コメントセクションで共有してください。私たちはあなたを助けるために最善を尽くします。