我正在努力在我的网络上创建一个小型Hadoop集群。我有1个NameNode和2个DataNode:
garage => NameNode
garage2 => DataNode
garage3 => DataNode
在NameNode上,我使用:
格式化了hdfshadoop namenode -format
然后我创建了用户目录:
hadoop dfs -mkdir /user
hadoop dfs -mkdir /user/erik
hadoop dfs -mkdir movielens
然后我上传了一些文件来测试它:
hadoop dfs -put * movielens
我的期望是两个数据节点都包含数据的完整副本,因为我的复制因子在hdfs-site.xml中设置为2(所有3个节点上的相同配置文件):
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/mnt/data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/mnt/data/hdfs/datanode</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
但是,我发现磁盘上的hdfs文件夹中的数据文件分布不均:
garage2(DataNode):
erik@garage2:/mnt/data/hdfs$ du -h
4.0K ./datanode/current/BP-152062109-192.168.0.100-1475633473579/tmp
4.0K ./datanode/current/BP-152062109-192.168.0.100-1475633473579/current/rbw
619M ./datanode/current/BP-152062109-192.168.0.100-1475633473579/current/finalized/subdir0/subdir0
619M ./datanode/current/BP-152062109-192.168.0.100-1475633473579/current/finalized/subdir0
619M ./datanode/current/BP-152062109-192.168.0.100-1475633473579/current/finalized
619M ./datanode/current/BP-152062109-192.168.0.100-1475633473579/current
619M ./datanode/current/BP-152062109-192.168.0.100-1475633473579
619M ./datanode/current
619M ./datanode
619M .
来自garage3(DataNode):
erik@garage3:/mnt/data/hdfs$ du -h
4.0K ./datanode
8.0K .
我的配置中是否遗漏了甚至会将此分发/数据复制出来的内容?