2016-08-15 12 views
0

4つのDataNodeを持つHadoopクラスタがあります。私は、データ複製とデータ配布という2つの問題の間で混乱しています。HDFSレプリケーションとデータ配信

私は2GBのファイルがあり、レプリケーションファクタは2であると仮定します。&ブロックサイズは128 MBです。このファイルをhdfsに入れると、128 MBブロックごとに2つのコピーが作成され、datanode3とdatanode4に配置されていることがわかります。しかし、datanode2 & datanode1は使用されません。データは複製要因のために複製されますが、datanode1とdatanode2にいくつかのデータブロックがあることが予想されます。何か間違えている?

私は20のDataNodesと複製係数が2であるとしましょう。HDFSにファイル(2 GB)を置くと、再び128 MBの2つのコピーが見込まれますが、これらの128 MBブロックは20のDataNodeに分散されています。

答えて

0

理想的には、2GBファイルは、使用可能なすべてのDataNodeに分散する必要があります。以上のような構成により

File Size: 2GB = 2048MB 
Block Size: 128MB 
Replication Factor: 2 

あなたが持っている必要があります。すなわち2048/128 * 2ブロック32ブロック。また、これらのブロックは、すべてのDataNode間でほぼ均等に分散する必要があります。あなたが4つのDataNodeを持っているとすれば、それぞれに約8つのブロックが必要です。

上記のような状況がないと思う理由は、データノードがダウンしている場合です。すべてのデータノードが稼動しているかどうか確認してください:sudo -u hdfs hdfs dfsadmin -report

関連する問題