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

 

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

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

 

重新尝试下面的命令:

1 hdfs namenode –format
2 sbin/start-all.sh

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

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

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

1 <property> 
2     <name>dfs.name.dir</name> 
3     <value>/home/user/<user name>/hadoop_namedata</value> 
4 </property>

 

最后,我的环境如下:
Ubuntu 14.10 x64
Hadoop 2.6.0
posted @ 2015-04-09 14:09  寸木  Views(256)  Comments(0Edit  收藏  举报