[原创]Hadoop默认设置导致NameNode启动失败一例

看到市面上很多书在讲解Hadoop的时候都轻描淡写的提到了HDFS的设置问题。大多采取的是默认设置,最多也就是设置一些副本数量之类。

笔者在工作中遇到了这样一种情况:每次重启系统之后,NameNode就会消失。

重新尝试下面的命令:

 hdfs namenode –format
sbin/start-all.sh

这样确实能够恢复Hadoop的运行,但是HDFS上面的数据会全部丢失。这显然不是我们想看到的。

仔细查找官方文档,发现hdfs-site.xml里面包含了HDFS的默认工作路径,竟然指向了”/tmp”!

添加下面的代码到hdfs-site.xml,替换成你自己的工作路径即可解决此问题。

 <property>
<name>dfs.name.dir</name>
<value>/home/user/<user name>/hadoop_namedata</value>
</property>
最后,我的环境如下:
Ubuntu 14.10 x64
Hadoop 2.6.0
上一篇:[leetcode-629-K Inverse Pairs Array]


下一篇:用Scala实现集合中相邻元素间的差值