2015-06-14 43 views
0

我已经开始学习最近Hadoop和在创建新的文件夹,我提示以下错误: -Hadoop的基础 - 在创建错误directroy

vm4learning @ vm4learning:〜/安装/ Hadoop的1.2.1 /斌$ ./hadoop fs -mkdir helloworld警告:$ HADOOP_HOME已弃用。 15/06/14 19:46:35信息ipc.Client:重试连接到服务器: localhost/127.0.0.1:9000。已经尝试0次(s);重试的政策是 RetryUpToMaximumCountWithFixedSleep(maxRetries = 10,休眠时间= 1 秒)

请求你help.below是namdenode日志 -

015-06-14 22:01:08158信息组织。 apache.hadoop.hdfs.server.common.Storage:存储目录/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name不存在 2015-06-14 22:01:08,161错误org.apache .hadoop.hdfs.server.namenode.FSNamesystem:FSNamesystem初始化失败。 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目录/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name处于不一致状态:存储目录不存在或无法访问。 at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:395) at org.apache .hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) at org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:569) at org.apache.hadoop。 hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488) 2015-06-14 22:01: 08,182错误org.apache.had oop.hdfs.server.namenode.NameNode:org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:目录/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name处于不一致状态:存储目录不存在或不可访问。 at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:395) at org.apache .hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) at org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:569) at org.apache.hadoop。 hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)

2015-06-14 22:01:08,185 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:SHUTDOWN_MSG: /******************* ***************************************** SHUTDOWN_MSG:在vm4learning上关闭NameNode/192.168.1.102 ************************************** **************/

+0

mkdir:调用本地主机/ 127.0.0.1:9000连接失败异常:java.net.ConnectException:连接被拒绝 –

+0

在控制台执行'jps'并更新您的问题。 – chomp

+0

JPS了如下的结果-8980 JPS 8129 JobTracker的 7914的DataNode 8269的TaskTracker 8052 SecondaryNameNode –

回答

1

在开始创建一个目录之前,通过jps命令确定您的hadoop安装是正确的,并且查找任何缺失的进程。

在你的情况下,namenode没有启动。

如果您在日志中看到,它似乎是某些文件夹没有创建。这样做:

mkdir -p $HADOOP_HOME/dfs/name 
mkdir -p $HADOOP_HOME/dfs/name/data 

并在hdfs-site.xml中指定以下内容。

<property> 
    <name>dfs.data.dir</name> 
    <value>/usr/local/hadoop/dfs/name/data</value> 
    <final>true</final> 
</property> 
<property> 
    <name>dfs.name.dir</name> 
    <value>/usr/local/hadoop/dfs/name</value> 
    <final>true</final> 
</property> 

重新初始化hadoop,并记住格式化之前做任何事情。

+0

它的工作原理 - 非常感谢 - 您能否解释为什么需要这些更改以及发生了什么 - 再次感谢 –

+0

您的HDFS文件夹创建在FS之上。这就是为什么当我看到你的namenode在抱怨那些不存在的FS目录(用于创建hadoop文件系统的默认目录)时,我想你还没有创建它们。我告诉你在hdfs-site中指定这些属性,因为如果你不这样做,它可能会导致另一个问题。 Np – chomp

+0

希望对你来说已经足够了。如果你有时间,也许你可以接受我对这个问题的回答;) – chomp