2012-10-12 10:06:54,804 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /tmp/hadoop-grid/dfs/name does not exist.
2012-10-12 10:06:54,806 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-grid/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)
2012-10-12 10:06:54,819 INFO org.apache.hadoop.ipc.Server: Stopping server on 9000
很清楚了 ,/tmp/hadoop-grid/dfs/name is in an inconsistent state: storage directory does not exist,
1.具体愿因是 LINUX 系统,在服务重启后,/tmp 下的目录被清空,Hadoop无法找到dfs/name 这个dfs文件系统的域名空间文件。
hadoop.tmp.dir 是 hadoop文件系统依赖的基本配置,很多配置路径都依赖它,它的默认位置在/tmp/{$user}下面。
2.解决办法:
在core-site.xml中配置 hadoop.tmp.dir 路径到持久化目录。