hadoop创建了无法找到的目录

时间:2012-09-07 19:27:53

标签: hadoop mkdir

我使用以下hadoop命令创建目录

 hdfs dfs -mkdir /tmp/testing/morehere1

我收到以下消息:

 log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN请正确初始化log4j系统。

不理解错误,我再次运行命令,返回此消息:

 log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
 log4j:WARN Please initialize the log4j system properly.
 mkdir: `/tmp/testing/morehere2': File exists

然后当我尝试转到刚刚创建的目录时,它就不存在了。

cd /tmp/testing/morehere2
 -bash: cd: /tmp/testing/morehere2: No such file or directory

任何想法我做错了什么?

3 个答案:

答案 0 :(得分:5)

 hdfs dfs -mkdir /tmp/testing/morehere1

此命令在hdfs中创建了一个目录。不要担心log4j警告。该命令成功创建了该目录。这就是你第二次尝试命令时得到错误mkdir:/tmp/testing/morehere2': File exists的原因。

以下命令不起作用,因为目录不是在本地文件系统中创建的,而是在hdfs中创建的。

cd /tmp/testing/morehere2

使用以下命令检查hdfs:

中创建的目录
hdfs dfs -ls /tmp/testing

您应该能够在那里看到新目录。

关于log4j警告:您可以忽略它,因为它不会导致您的hadoop命令失败。但是如果要更正它,可以将log appender添加到log4j.properties。

答案 1 :(得分:1)

请记住,HDFS和本地文件系统之间存在差异。您发布的第一行在HDFS中创建了一个目录,而不是在本地系统上。所以你不能直接cd或者它或任何东西;如果你想访问它,你必须通过hadoop。记录到HDFS也很少见,因为文件附加从未得到很好的支持。我怀疑你确实想在本地创建该目录,这可能是你问题的一部分。

答案 2 :(得分:0)

如果您的MR代码之前运行正常,现在它显示此log4j错误,然后重新启动所有hadoop守护进程。它可以解决你的问题,因为它解决了我的问题:)