2013-06-13 12 views
7

クラスタ内でレプリケーションファクタが変更された場合(5〜3など)、クラスタが再起動した場合、古いファイルブロックはどうなりますか?レプリケートされたものとみなされ、削除されるか、レプリケーションファクタは新しいファイルにのみ適用されますか?つまり、古いファイルブロックは5回複製され、新しいファイルブロック(再起動後)は3回複製されます。 クラスタを再起動しないとどうなりますか?HDFSレプリケーションファクタの変更

+0

誰かがこの質問に答えてくださいできますか? – user2470193

答えて

11

クラスタ内でレプリケーションファクタが変更された場合(5〜3など)、クラスタが再起動された場合、古いファイルブロックはどうなりますか?

既存の/古いファイルブロックには何も起こりません。

オーバーレプリケートとみなされ、削除されるか、またはレプリケーションファクタは新しいファイルにのみ適用されますか?

新しい複製ファクタは、複製ファクタがHDFS全体の設定ではなくファイルごとの属性であるため、新しいファイルにのみ適用されます。

古いファイルブロックが5回複製され、新しいファイルブロック(再起動後)が3回複製されることを意味します。

これは逆です。レプリケーションファクタが3に設定されている既存のファイルは、引き続き3ブロックを保持します。より高い既定のレプリケーションファクタで作成された新しいファイルは5ブロックを保持します。

クラスタを再起動しないとどうなりますか?

再起動するか、クラスタを再起動しないと何も起こりません。このプロパティはファイル単位であり、ファイルを作成するときにクライアントによって導かれるため、この設定を変更するためにクラスタを再起動する必要はありません。クライアントの設定を更新するだけです。

レプリケーション・チェンジャーコマンドの実行を検討、すべてのあなたの古いファイル複製ファクタを変更するには見れば:hadoop fs -setrep -R 5 /

関連する問題