以下のステートメントについて詳しく説明しました。私がhow the HDFS writes happens to Data nodesを理解しようとしたとき。私はHDFSの書き込みについて以下の説明を得ました。データノードへのファイルコピー時のHadoop HDFSでのデータフローパイプライン
なぜ、hdfsクライアントはブロック64MBをデータノードに送信するのではなく、4KBをデータノードに送信するのですか?いくつか詳しく説明できますか?
パフォーマンスを向上させるため、データノードはデータ転送のパイプラインを維持します。データノード1は、フロー内のデータノード2への転送を開始する前に、完全なブロックが到着するのを待つ必要はない。実際、あるブロックのクライアントからデータノード1へのデータ転送は、4KBの小さなチャンクで行われます。データノード1は、クライアントから最初の4KBのチャンクを受信すると、このチャンクをローカルリポジトリに格納し、すぐにそのノードをフローのデータノード2に転送し始めます。同様に、データノード2は、データノード1から最初の4KBのチャンクを受信すると、このチャンクをローカルリポジトリに格納し、直ちにそれをデータノード3に転送し始める。この方法では、最後のものを除くすべてのデータノードは、各ステージで待ち時間を避けて書き込みパフォーマンスを向上させるために、前のものをフロー内の次のデータノードに転送します。
投稿したコンテンツのソースを追加できますか? – mrsrinivas
http://www.informit.com/articles/article.aspx?p=2460260&seqNum=2。 –