【问题标题】:Command to store File on HDFS将文件存储在 HDFS 上的命令
【发布时间】:2014-06-05 14:09:11
【问题描述】:

简介

一个 Hadoop NameNode 和三个 DataNode 已安装并正在运行。下一步是向 HDFS 提供文件。已执行以下命令:

hadoop fs -copyFromLocal ubuntu-14.04-desktop-amd64.iso
copyFromLocal: `.': No such file or directory

hadoop fs -put ubuntu-14.04-desktop-amd64.iso
put: `.': No such file or directory

没有成功。

问题

需要发出哪个命令才能在 HDFS 上存储文件?

【问题讨论】:

  • 你格式化你的namenode(hdfs namenode –format)了吗?另外,我个人使用hdfs dfs -copyFromLocal myfile 复制文件
  • 是的,namenode 已经被格式化。 hdfs dfs -copyFromLocal ubuntu-14.04-desktop-amd64.iso 导致copyFromLocal: .':没有这样的文件或目录` 和sudo hdfs dfs -copyFromLocal ubuntu-14.04-desktop-amd64.iso 导致Error: JAVA_HOME is not set and could not be found.。 JAVA_HOME 错误非常显着,因为 hdfs-namenode 运行良好。
  • hadoop fs -copyFromLocal ubuntu-14.04-desktop-amd64.iso / 有效吗?这可能是因为它试图写入不存在的/user/yourUserName
  • 这个命令有效。 ISO 现已存储在 DataNode 中。谢谢。

标签: linux file hadoop hdfs


【解决方案1】:

如果没有提供路径,hadoop 将尝试将文件复制到您的 hdfs 主目录中。换句话说,如果您以 utrecht 身份登录,它会尝试将 ubuntu-14.04-desktop-amd64.iso 复制到 /user/utrecht

但是,此文件夹并非从头开始存在(您通常可以通过网络浏览器检查 dfs)。 要使您的命令正常工作,您有两个选择:

  • 将其复制到其他地方(/ 有效,但将所有内容放在那里可能会导致将来出现并发症)
  • hdfs dfs -mkdir /yourFolderPath创建你想要的目录

【讨论】:

  • 感谢您的解释。 hadoop fs -copyFromLocal ubuntu-14.04-desktop-amd64.iso / 有效。我会接受并投票赞成答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多