2014-01-24 39 views
0

我想在本地機器上安裝一個hadoop單節點集羣。 我用開始用nameNode doesnt start-hadoop-1.0.3 ubuntu 13.10單節點集羣

     bin/start-all.sh 

我得到JPS

     19623 TaskTracker 
         19388 SecondaryNameNode 
         19670 Jps 
         19479 JobTracker 

下面的輸出,我可以看到集羣后,按照以下說明

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

安裝的Hadoop nameNode不運行。我從/logs目錄中取出日誌,看起來像這樣。

2014-01-24 11:30:20,614 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /app/hadoop/tmp/dfs/name does not exist. 
2014-01-24 11:30:20,617 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed. 
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /app/hadoop/tmp/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:303) 
    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100) 
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:388) 
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:362) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:496) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288) 
2014-01-24 11:30:20,619 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /app/hadoop/tmp/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:303) 
    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100) 
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:388) 
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:362) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:496) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288) 

2014-01-24 11:30:20,620 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at ishan-HP-Pavilion-dv6700-Notebook-PC/127.0.1.1 

它說direcoty路徑/應用/ Hadoop的/ tmp目錄/ DFS /名稱我試圖創建Hadoop的用戶在這個目錄路徑,但我再次得到了同樣的錯誤。 有人可以幫我解決這個問題。

請注意:我看過這裏的類似帖子,但沒有一個幫助。

Thiks!

回答

0

我建議你檢查給予hduser的目錄「/ app/hadoop/tmp/dfs/name」的權限。或者,你可以確保沒有成分(二次名稱節點等)的啓動和運行,然後格式化使用此命令的名稱節點:

$HADOOP_INSTALL/hadoop/bin/hadoop namenode -format 

嘗試再次啓動羣集,看看它是否工作。

0

我認爲應該自動創建「/ app/hadoop/tmp/dfs/name」。該文件夾保持namenode的當前信息(緩存)。類似地,必須有另一個文件夾「namesecondary」和「name」文件夾。如果這些文件夾不存在,請再次檢查「conf/core-site.xml」。每個守護進程的Id都是在每次運行期間創建的,這些ID存儲在這些文件夾中(還有一些其他信息(我不知道這些信息))。

,如果這些文件夾都可以

  • 只是刪除 「名」 文件夾中的所有內容。
  • 格式namenode。
  • ,而不是「開始 - 所有」做start-dfs.sh並分別start-mapred.sh

期待這應該工作。