2013-07-05 16 views
0

我想啓動hadoop修改,名爲HaLoop,但我在namenode中遇到問題。它沒有啓動,並提供以下錯誤NameNode不工作

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目錄/應用/ haloop的/ tmp /名稱是不一致的狀態:存儲目錄不存在或不可訪問。

完整的日誌如下:

2013年7月5日14:04:38735 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:STARTUP_MSG: /* ** * ** * ** * ** * ** * ** *** * ** * ** * ** * *** STARTUP_MSG:啓動的NameNode STARTUP_MSG:主機= elmorsy/127.0.1.1 STARTUP_MSG:ARGS = [] STARTUP_MSG:版本= 0.20.2-dev STARTUP_MSG:build = https://haloop.googlecode.com/svn/trunk -r 408; 通過 'hduser' 上週六06月29日6時41分37秒EET編譯2013 * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***/2013年7月5日14:04:39620個信息org.apache.hadoop.ipc.metrics.RpcMetrics: 初始化RPC度量標準與hostName = NameNode,端口= 50010 2013-07-05 14:04:39,679 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Namenode up:localhost/127.0.0.1:50010 2013- 07-05 14:04:39,701信息 org.apache.hadoop.metrics.jvm.JvmMetrics:初始化JVM度量標準 with processName = NameNode,sessionId = null 2013-07-05 14:04:39,711信息 org.apache。 hadoop.hdfs.server.namenode.metrics.NameNodeMetrics: 使用上下文初始化NameNodeMeterics object:org.apache.hadoop.metrics.spi.NullContext 2013-07-05 14:04:40,360 INFO org.apache.hadoop.hdfs .server.namenode.FSNamesystem: fsOwner = hduser,hadoop 2013-07-05 14:04:40,360信息 org.apache.hadoop.hdfs.server.namenode.FSNamesystem: 超羣=超組2013年7月5日14:04:40360 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isPermissionEnabled =真2013年7月5日14:04:40388 INFO org.apache。 hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics: 使用上下文初始化FSNamesystemMetrics object:org.apache.hadoop.metrics.spi.NullContext 2013-07-05 14:04:40,392信息org.apache.hadoop.hdfs .server.namenode.FSNamesystem: 已註冊FSNamesystemStatusMBean 2013-07-05 14:04:40,531信息 org.apache.hadoop.hdfs.server.common。存儲:存儲目錄 /app/haloop/tmp/dfs/name不存在。 2013-07-05 14:04:40,547錯誤 org.apache.hadoop.hdfs.server.namenode.FSNamesystem:FSNamesystem 初始化失敗。 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory/app/haloop/tmp/dfs/name處於不一致狀態: 存儲目錄不存在或無法訪問。 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) 2013-07-05 14:04: 40,557 INFO org.apache .hadoop.ipc.Server:在50010上停止 服務器2013-07-05 14:04:40,564錯誤 org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common .InconsistentFSStateException: Directory/app/haloop/tmp/dfs/name處於不一致狀態: 存儲目錄不存在或無法訪問。在 org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290) 在org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311) 在org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:292) 的組織。 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)

2013年7月5日14:04:40572 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:SHUTDOWN_MSG: /* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** SHUTDOWN_MSG:關閉elmorsy上的NameNode/127.0.1。1 * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***/

我試圖改革在NameNode但它沒有解決問題。

任何幫助?

+0

你有什麼hadoop.tmp.dir,dfs.data.dir和dfs.name.dir?那些應該在conf/hdfs-site.xml中找到? –

+0

如果您還沒有指定後兩者那麼他們下hadoop.tmp.dir通常是在操作系統的/ tmp文件系統創建。/tmp文件系統偶爾會被操作系統清除,導致hadoop元數據崩潰。試着改變你的下置dfs.data.dir和dfs.name.dir或某個地方,這會持續下去。然後格式化hadoop FS以重新開始。 –

回答

2

確保您使用適當的用戶和目錄有適當的權限。使用這些命令來更改目錄的用戶和權限,如果你需要它:

sudo chown -R haloop_user:haloop_user_group /app/haloop/tmp/name 
sudo chmod -R 755 /app/haloop/tmp/name 

HTH

+0

我已經這樣做太不解決:( –

+0

Hmmm..was格式成功?凡是在日誌有意思嗎? – Tariq

+0

是格式是成功的,這是唯一的例外,我在日誌中得到 –

0

由於塔裏克的答案,我解決了這個問題。 此外,你也應該chown和CHMOD整個Hadoop的執行文件夾:

sudo chown -R hadoop_user:haloop_user_group /usr/local/hadoop 
sudo chmod -R 755 /usr/local/hadoop