1

HDFS ブロックのチェックサムは、ローカル ファイルに、ブロックの生のコンテンツとともに、それぞれの専用データノード (レプリカ) に保存されます。

私は疑問に思っています:ファイルのメタデータの一部として、ブロックのチェックサムもネームノード内に保存されていますか?

4

2 に答える 2

2

いいえ。チェックサムは、スレーブ ノード [データ ノードと呼ばれることもあります] のブロックと共にのみ保存されます。

HDFS の Apache ドキュメントから

データの整合性

DataNode からフェッチされたデータのブロックが破損した状態で到着する可能性があります。この破損は、ストレージ デバイスの障害、ネットワーク障害、またはバグのあるソフトウェアが原因で発生する可能性があります。

次のように動作します。

  1. HDFS クライアント ソフトウェアは、チェックサム チェッカーを実装しています。クライアントは、HDFS ファイルを作成するときに、ファイルの各ブロックのチェックサムを計算し、これらのチェックサムを同じ HDFS 名前空間の別の隠しファイルに保存します。
  2. クライアントは、ファイルの内容を取得するときに、各 DataNode から受信したデータが、関連するチェックサム ファイルに格納されているチェックサムと一致することを確認します。
  3. そうでない場合、クライアントは、そのブロックのレプリカを持つ別の DataNode からそのブロックを取得することを選択できます。
  4. 別のデータ ノード ブロックのチェックサムが隠しファイルのチェックサムと一致する場合、システムはこれらのデータ ブロックを提供します。
于 2018-03-08T19:11:44.993 に答える