我有一个群集配置。
主人(也是奴隶)
两个奴隶
复制因子=1
我复制了一个9gb的文件, movies.txt
进入hdfs:
hadoop dfs -copyFromLocal movies.txt /input/
我注意到一半的积木被保存给了主人,另一半则被分配给了两个奴隶。
然后我想到使用以下格式格式化hadoop\存储:
stop-all.sh
rm -rf {hadoop_store}/*
hdfs namenode -format
ssh slave1
rm -rf {hadoop_store}/*
hdfs namenode -format
exit
ssh slave2
rm -rf {hadoop_store}/*
hdfs namenode -format
start-all.sh
现在,当我试着
hadoop dfs -copyFromLocal movies.txt /input/
令人震惊的是,我把所有的积木都搭上了 master
!
供我参考 hdfs_site.xml
是:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hadoop_store/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hadoop_store/hdfs/datanode</value>
</property>
</configuration>
你能解释我做错了什么吗?
1条答案
按热度按时间mwyxok5s1#
你没做错什么。当文件被写入hdfs时,第一个副本总是位于本地节点上。当复制因子为1时,则所有块仅存储在本地节点上。当本地节点上的空间用完时,我想hdfs会尝试在其他节点上存储块。这似乎是在格式化hdfs之前第一次复制文件时发生的。