【问题标题】:Unable to upload directory to hdfs. `/usr/local/tmp/': No such file or directory无法将目录上传到 hdfs。 `/usr/local/tmp/': 没有这样的文件或目录
【发布时间】:2017-02-24 16:55:22
【问题描述】:

我正在尝试将目录中的文件上传到我在 HDFS 上创建的目录,但我无法这样做,因为 ubuntu 无法在我的机器上找到这些文件。 目录“states”(我正在尝试上传的一个)包含 50 个 txt 文件,位于我的下载文件夹中(路径:/home/shradha/Downloads)。我正在尝试将这些文件上传到 hdfs/states 的 ec2 hadoop 实例中(我已经创建了 hdfs 和状态)。 我在某处读到只能移动“tmp”文件夹中的文件,所以我将要上传到 hdfs 的目录移动到 tmp 文件夹仍然没有运气。 我试过 put、copyFromLocal、moveFromLocal 但没有任何效果。请看一下屏幕截图,我相信它与 hduser 有关。

【问题讨论】:

  • 仅供参考:我假设有 4 个实例在这 50 个文件上执行 map-reduce。此屏幕截图中的终端是我的主节点。如果可能的话,您能否建议我应该将我的 jar(包含 map-reduce java 代码)放在 hadoop 上的哪个位置?我假设我必须使用类似的命令(如输入文件)来上传它。
  • 1) 不要将终端输出作为图像发布。它不可索引,不可复制,什么都没有。 2)你能列出文件吗?他们是在那台机器上还是在其他机器上?
  • 我在虚拟机上使用 Ubuntu。我要上传的文件存在于文件夹状态中,位于此处:'/home/shradha/Downloads'。文件夹状态有 50 个文本文件,我想上传到 hdfs。

标签: ubuntu hadoop amazon-ec2 hdfs master-slave


【解决方案1】:

您收到的错误是您要复制的文件不存在。 尝试移动一个文件,看看结果如何。

使用namei -mo <file> 查看用户以及对文件和父文件夹的权限。

IE:

[hduser@hdp-clt wordcount]$ namei -mo output/combiner/part-00000 
f: output/combiner/part-00000
 drwxr-xr-x hduser common output
 drwxr-xr-x hduser common combiner
 -rw-r--r-- hduser common part-00000

这将帮助您了解问题所在。

【讨论】:

  • Itriednamei -mo /home/shradha/Downloads/states f: /home/shradha/Downloads/states drwxr-xr-x root root / drwxr-xr-x root root home shradha - 没有这样的文件或目录
  • 我试过 'namei -mo /home/shradha/Downloads/states f: /home/shradha/Downloads/states' drwxr-xr-x root root / drwxr-xr-x root root home shradha - 没有这样的文件或目录
  • 我正在使用虚拟机,要上传的文件夹在我正在使用的 Ubuntu 虚拟机的下载文件夹中。 /home/shradha/Download 是我右键单击文件夹时显示的属性。
  • 您没有按照我的要求移动单个文件,请检查文件所在的磁盘上是否有可用空间,作为最后的选择,您可以使用sudo namei -mo /home/shradha/Downloads/states 查看发生了什么内核级别。
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 2019-07-25
  • 2023-04-09
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
相关资源
最近更新 更多