4

単一ノードを実行しています。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ディレクトリを使用しているためです。

4

1 に答える 1

0

これは、namenode dir を別の場所 (Hadoop 構成で "hdfs-site.xml") に指定することで解決できます。通常、デフォルトの file://${hadoop.tmp.dir}/dfs/name を使用します。したがって、再起動するたびに /tmp ディレクトリがクリアされ、NameNode データが失われます。

于 2015-04-17T19:28:21.677 に答える