hadoop创建找不到的目录

whitzsjs  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(556)

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

你知道我做错了什么吗?

t40tm48m

t40tm48m1#

如果您的mr代码以前运行良好,现在显示这个log4j错误,那么重新启动所有hadoop守护进程。它可以像解决我的问题一样解决你的问题:)

3npbholx

3npbholx2#

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

vof42yt1

vof42yt13#

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命令失败。但是如果您想更正它,可以向log4j.properties添加一个文件追加器。

相关问题