0

distcp を使用して 2 つのクラスター内でデータをコピーする場合、すべてのレプリカをコピーしますか、それともデータの 1 つのレプリカをコピーして新しいクラスターに複製しますか?

たとえば、レプリケーション係数 (RF) が 3 のクラスターから 3 GB のデータをコピーしようとするとします。distcp は 3 GB のデータ全体をコピーしますか、それとも RF が 3 であるため、1 GB (1コピー)のデータ。最後に、宛先クラスタで RF を確認し、それに応じてデータを複製します。

4

2 に答える 2

4

生データのサイズが重要です。生データが 1 GB の場合、レプリケーション係数 = 3 に最大 3x1 GB かかります。あるクラスターから別のクラスターにデータをコピーする場合、生データが重要になります。生の 1 GB のデータのみが宛先クラスターにコピーされます。

HDFS は、ブロックの複製を内部的に処理します。クラスター上の新しいデータに気づき、それに応じてこれらのブロックをレプリケートします。これらのブロックはレプリケートされていません。つまり、RF よりもレプリカが少ないのです。

于 2013-03-20T19:36:57.733 に答える
1

distcp を使用して複製する場合、実際のデータ (つまり、データの 1 つのコピー) のみが複製/コピーされます。レプリケーションは、新しいデータが HDFS に書き込まれるときと同じように、フレームワークによって処理されます。それに加えて、2 つのクラスター間の distcp の場合、ソースでのレプリケーション ファクターを保持するかどうかも指定できます。

詳細情報:
https://hadoop.apache.org/docs/stable1/distcp.html

于 2014-01-07T12:32:35.713 に答える