我最近开始学习hadoop,我在创建新文件夹时遇到以下错误 -
vm4learning @ vm4learning:〜/ Installations / hadoop-1.2.1 / bin $ ./hadoop fs -mkdir helloworld警告:不推荐使用$ HADOOP_HOME。 15/06/14 19:46:35 INFO ipc.Client:重试连接到服务器: 本地主机/ 127.0.0.1:9000。已经尝试了0次;重试政策是 RetryUpToMaximumCountWithFixedSleep(maxRetries = 10,sleepTime = 1 秒)的
请求你帮忙。下面是namdenode日志 -
015-06-14 22:01:08,158 INFO org.apache.hadoop.hdfs.server.common.Storage:存储目录/home/vm4learning/Installations/hadoop-1.2.1/data/dfs/name不存在 2015-06-14 22:01:08,161 ERROR 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处于不一致状态:存储目录不存在或无法访问。 在org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) 在org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427) 在org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:395) 在org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) 在org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:569) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) 在org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488) 2015-06-14 22:01:08,182 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode:org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:Directory /home/vm4learning/Installations/hadoop-1.2 .1 / data / dfs / name处于不一致状态:存储目录不存在或无法访问。 在org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:304) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104) 在org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427) 在org.apache.hadoop.hdfs.server.namenode.FSNamesystem。(FSNamesystem.java:395) 在org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299) 在org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:569) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479) 在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 / 192.168.1.102处关闭NameNode ************************************************** ********** /
答案 0 :(得分: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,并记住格式化以前做任何事情。