わずか 2 台のマシンで (実験用に) 小さな Hadoop セットアップを試みています。Hive を使用して、約 13GB のデータ、約 3900 万行のテーブル、レプリケーション ファクター 1 をロードしています。
私の問題は、hadoop が常にこのすべてのデータを単一のデータノードに格納することです。setrep を使用して dfs_replication 係数を 2 に変更した場合にのみ、hadoop は他のノードにデータをコピーします。バランサーも試しました($HADOOP_HOME/bin/start-balancer.sh -threshold 0
)。バランサーは、バランスをとるために約 5GB を移動する必要があることを認識します。しかし、言う:No block can be moved. Exiting...
そして終了:
2010-07-05 08:27:54,974 INFO org.apache.hadoop.hdfs.server.balancer.Balancer: Using a threshold of 0.0
2010-07-05 08:27:56,995 INFO org.apache.hadoop.net.NetworkTopology: Adding a new node: /default-rack/10.252.130.177:1036
2010-07-05 08:27:56,995 INFO org.apache.hadoop.net.NetworkTopology: Adding a new node: /default-rack/10.220.222.64:1036
2010-07-05 08:27:56,996 INFO org.apache.hadoop.hdfs.server.balancer.Balancer: 1 over utilized nodes: 10.220.222.64:1036
2010-07-05 08:27:56,996 INFO org.apache.hadoop.hdfs.server.balancer.Balancer: 1 under utilized nodes: 10.252.130.177:1036
2010-07-05 08:27:56,997 INFO org.apache.hadoop.hdfs.server.balancer.Balancer: Need to move 5.42 GB bytes to make the cluster balanced.
Time Stamp Iteration# Bytes Already Moved Bytes Left To Move Bytes Being Moved
No block can be moved. Exiting...
Balancing took 2.222 seconds
レプリケーションなしで、Hadoop でデータを均等に分散する方法を提案できる人はいますか?