我正在工作中部署Hadoop,并且几天来一直在进行故障排除。昨天运行良好,但是今天发生了一些奇怪的事情。
我在core-site.xml以及HDFS的其他目录(hdfs-site.xml中的datanode,namenode和secondarynamenode)中设置了hadoop.tmp.dir。但是今天,当我格式化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>
任何人都知道发生了什么事吗?
谢谢!
答案 0 :(得分:0)
确保此目录存在并具有足够的权限
将路径指定为file:///usr/local/hadoop/tmp
答案 1 :(得分:0)
发现错误所在,这真令人尴尬。我的hadooop用户将bash作为默认的sh,但是直到我在命令行上明确地进行了“ bash”操作之前,它没有正确加载配置文件。 用printenv命令看到它。