我正在尝试在本地计算机上设置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用户创建这个目录路径,但我又遇到了同样的错误。 有人可以帮我解决这个问题。
请注意:我在这里读过类似的帖子,但没有一个帮助过。
笨蛋!
答案 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存储在这些文件夹中(还有一些其他信息(我不知道是不是这样))。
和
如果这些文件夹可用
期待这一点应该有效。
答案 2 :(得分:0)
您没有权限创建此目录。尝试在主目录中提供路径。您应该在core-site.xml中为属性hadoop.tmp.dir提及此路径。我在下面的链接中提到过它 http://lets-do-something-big.blogspot.in/2014/01/hadoop-series-single-node-installation.html