NameNode无法正常工作

时间:2013-07-05 09:40:50

标签: java hadoop mapreduce hdfs

我想开始名为HaLoop的hadoop修改,但我在namenode中遇到了问题。它没有启动并给出以下错误

  

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目录/ app / haloop / tmp / name处于不一致状态:存储目录不存在或无法访问。

完整的日志如下:

  

2013-07-05 14:04:38,735 INFO   org.apache.hadoop.hdfs.server.namenode.NameNode:STARTUP_MSG:   / * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***   STARTUP_MSG:启动NameNode STARTUP_MSG:host = elmorsy / 127.0.1.1   STARTUP_MSG:args = [] STARTUP_MSG:version = 0.20.2-dev   STARTUP_MSG:build = https://haloop.googlecode.com/svn/trunk -r 408;   由' hduser编译'在6月29日星期六06:41:37 EET 2013   的 * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** / 2013-07-05 14:04:39,620 INFO org.apache.hadoop.ipc.metrics.RpcMetrics:   使用hostName = NameNode初始化RPC度量标准,port = 50010 2013-07-05   14:04:39,679 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:   Namenode up at:localhost / 127.0.0.1:50010 2013-07-05 14:04:39,701 INFO   org.apache.hadoop.metrics.jvm.JvmMetrics:初始化JVM指标   with processName = NameNode,sessionId = null 2013-07-05 14:04:39,711 INFO   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 INFO   org.apache.hadoop.hdfs.server.namenode.FSNamesystem:   supergroup = supergroup 2013-07-05 14:04:40,360 INFO   org.apache.hadoop.hdfs.server.namenode.FSNamesystem:   isPermissionEnabled = true 2013-07-05 14:04:40,388 INFO   org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics:   使用上下文初始化FSNamesystemMetrics   object:org.apache.hadoop.metrics.spi.NullContext 2013-07-05   14:04:40,392 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:   已注册FSNamesystemStatusMBean 2013-07-05 14:04:40,531 INFO   org.apache.hadoop.hdfs.server.common.Storage:存储目录   / 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:   目录/ app / haloop / tmp / dfs / name处于不一致状态:   存储目录不存在或无法访问。           在org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)           at 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)           at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)           在org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:279)           at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)           在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:   目录/ app / haloop / tmp / dfs / name处于不一致状态:   存储目录不存在或无法访问。在   org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)           at 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)           at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)           在org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:279)           at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)           在org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)

     

2013-07-05 14:04:40,572 INFO   org.apache.hadoop.hdfs.server.namenode.NameNode:SHUTDOWN_MSG:   / * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***   SHUTDOWN_MSG:在elmorsy / 127.0.1.1处关闭NameNode   的 * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** /

我尝试重新格式化NameNode,但它没有解决问题。

任何帮助?

2 个答案:

答案 0 :(得分:2)

确保您使用的是相应的用户,并且该目录具有适当的权限。使用这些命令可以更改目录的用户和权限,以备不时之需:

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

HTH

答案 1 :(得分:0)

感谢Tariq的回答,我解决了它。 此外,您还应该chown和chmod整个hadoop执行文件夹:

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