Hadoop Basic - 创建目录

时间:2015-06-14 14:24:49

标签: hadoop hdfs

我最近开始学习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 ************************************************** ********** /

1 个答案:

答案 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,并记住格式化以前做任何事情。