每次开机都得重新格式化一下namenode才可以,但这个可不是解决问题的方法啊,
总不能每次启动就把文件系统格式化一下吧,这还得了
查看了一下日志,发现如下错误:
ERROR org.apache.hadoop.hdfs.server.namenode.NameNod
e: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:
Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory
does not exist or is not accessible.
原来,问题出现在/tmp目录上,默认的tmp文件夹每次重新开机会被清空,
与此同时namenode的格式化信息就会丢失,于是我们得重新配置一个tmp文件目录。
在根目录下建立一个hadoop_root目录,mkdir /hadoop_tmp
然后修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>
OK了,重新格式化Namenode ./ hadoop namenode -format
然后启动hadoop ./start-all.sh
执行下JPS命令就可以看到NameNode了
可以在/etc/rc.local 加入 /usr/local/hadoop-1.1.2/bin/start-all.sh (我的hadoop安装在/usr/local/下)
这样hadoop就会随开机启动
参考自:http://blog.csdn.net/bychjzh/article/details/7830508