2016-04-12 10 views
0

私はApache Hadoopの新しいユーザーです。私が理解していない瞬間があります。私は単純なクラスタ(3ノード)を持っています。各ノードには約30GBの空き容量があります。私がHadoopの概要サイトを見ると、残りのDFS:90.96 GBが表示されます。レプリケーション係数を1に設定しました。Hadoop 2.6.4とBig File

次に、50GBのファイルを1つ作成し、HDFSにアップロードしようとします。しかし、スペースは外です。どうして?クラスタの1つのノード以上の空き容量のファイルをアップロードすることはできませんか? Hadoopのによると

答えて

0

:Definitive Guideの

のHadoopのデフォルトの戦略はあるが、クライアントはクラスタ外で実行されているため、ノードがランダムに選択される(クライアントと同じノード上で最初のレプリカを配置することですシステムは、あまりにもいっぱいまたは忙しすぎるノードを選択しないように試みます)。第2のレプリカは、第1のラックとは異なるラックに置かれ、ランダムに選択される。 3番目のレプリカは、2番目と同じラックに配置されますが、ランダムに選択された別のノードに配置されます。システムは同じラックに多数のレプリカを配置することを避けようとしますが、追加のレプリカはクラスタ上のランダムなノードに配置されます。 このロジックは、異なるノード間のネットワークチャタリングを減少させるので意味があります。

私はそれがクライアントがHadoopノードと同じかどうかによって異なると思う。クライアントがHadoopノードの場合、すべての分割は同じノードになります。これは、クラスタ内に複数のノードが存在するにもかかわらず、より優れた読み取り/書き込みスループットを提供しません。クライアントがHadoopノードと同じでない場合、分割はノードごとにランダムに選択されるため、分割はクラスタ内のノードに分散されます。これにより、より良い読み取り/書き込みスループットが提供されます。

+0

ありがとうございました。しかし、私は大きなファイルをアップロードする方法を理解していませんでした。私はNFS用のセットアップHDFSゲートウェイでした。私はWindowsのコンピュータからNFSフォルダにマウントされました。そして大きなファイルをアップロードしようとしています。しかし、私が見るように、1つのノードだけがスペースを減らしています。私は間違っている? –