我正在运行单节点。 NameNode
总是在启动群集时启动失败。我犯了以下错误。
2013-06-29 10:37:29,968 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:292)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:200)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:627)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:469)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:403)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:437)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:609)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:594)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1169)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1235)
2013-06-29 10:37:29,971 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2013-06-29 10:37:29,973 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at traw-pc/127.0.0.1
************************************************************/
我知道有同样的问题,我们可以通过格式化来解决 NameNode
. 但我的问题是为什么每次都会出现这样的错误?这不是一个多大的问题,因为我正在运行 Single Node cluster
. 但在实际生产环境中,这可能会导致数据松散。我猜是因为我用了 /tmp
目录。
1条答案
按热度按时间368yc8dk1#
这可以通过在hadoop配置中将namenodedir指定到另一个位置“hdfs site.xml”来解决。通常采用默认文件://${hadoop.tmp.dir}/dfs/name。。因此,每次重新启动后,/tmp目录都会被清除,namenode数据也会消失