0

我使用以下 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

任何想法我做错了什么?

4

3 回答 3

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 命令失败。但是如果你想更正它,你可以添加一个 File appender 到 log4j.properties。

于 2012-09-08T06:04:12.797 回答
1

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

于 2012-09-07T20:24:31.567 回答
0

如果您的 MR 代码之前运行良好并且现在显示此 log4j 错误,则重新启动所有 hadoop 守护程序。它可以解决您的问题,因为它可以解决我的问题:)

于 2015-05-10T03:47:00.543 回答