nameNode不启动 - hadoop-1.0.3 ubuntu 13.10单节点集群

时间:2014-01-24 16:37:14

标签: java hadoop

我正在尝试在本地计算机上设置hadoop单节点群集。 我使用以下说明安装了hadoop

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

使用

启动集群后

                        bin/start-all.sh

我从 jps

获得以下输出
                       19623 TaskTracker
                       19388 SecondaryNameNode
                       19670 Jps
                       19479 JobTracker

我可以看到 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

它说了devcoty路径 / app / hadoop / tmp / dfs / name 我尝试为hadoop用户创建这个目录路径,但我又遇到了同样的错误。 有人可以帮我解决这个问题。

请注意:我在这里读过类似的帖子,但没有一个帮助过。

笨蛋!

3 个答案:

答案 0 :(得分:0)

我建议您检查给予hduser的目录“/ app / hadoop / tmp / dfs / name”的权限。或者,您可以确保没有任何组件(辅助名称节点等)启动并运行,然后使用此命令格式化namenode:

$HADOOP_INSTALL/hadoop/bin/hadoop namenode -format

尝试再次启动群集,看看它是否有效。

答案 1 :(得分:0)

我认为应该自动创建“/ app / hadoop / tmp / dfs / name”。此文件夹保留namenode的当前信息(缓存)。同样,必须有另一个文件夹“namesecondary”和“name”文件夹。如果这些文件夹不存在,请再次检查“conf / core-site.xml”。每个守护进程的Id都是在每次运行期间创建的,这些id存储在这些文件夹中(还有一些其他信息(我不知道是不是这样))。

如果这些文件夹可用

  • 只删除“name”文件夹的所有内容。
  • 格式namenode。
  • 而不是“start-all”分别执行start-dfs.sh和start-mapred.sh

期待这一点应该有效。

答案 2 :(得分:0)

您没有权限创建此目录。尝试在主目录中提供路径。您应该在core-site.xml中为属性hadoop.tmp.dir提及此路径。我在下面的链接中提到过它 http://lets-do-something-big.blogspot.in/2014/01/hadoop-series-single-node-installation.html