我正在工作中部署hadoop,几天来我一直在排除故障。昨天它工作得很好,但今天发生了一些奇怪的事情。
我在core-site.xml中设置了hadoop.tmp.dir以及hdfs的其他目录(hdfs site.xml中的datanode、namenode和secondarynamenode)。但是今天,当我格式化fs时,它在/tmp中创建所有文件,而不是在/usr/local/hadoop/tmp中创建文件,我已经配置了这个文件。
$ bin/hdfs namenode -format
[...]
INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
[...]
core-site.xml文件
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
hdfs-site.xml文件
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/usr/local/hadoop/hdfs/secondname</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
有人知道发生了什么事吗?
谢谢!
2条答案
按热度按时间4ioopgfo1#
确保此目录存在并具有足够的权限
将路径指定为
file:///usr/local/hadoop/tmp
uplii1fm2#
发现了问题,真的很尴尬。我的hadoop用户将bash作为默认sh,但直到我在命令行上显式地执行了“bash”之后,才正确加载配置文件。用printenv命令看到了。