如何在我的系统上找到 Hadoop hdfs 目录?

新手上路,请多包涵

如何在我的系统上找到 Hadoop HDFS 目录?我需要这个来运行以下命令 -

 hadoop dfs -copyFromLocal <local-dir> <hdfs-dir>

在这个命令中,我不知道我的 hdfs-dir。

不确定它是否有用,但我运行了以下命令并得到了这个输出 -

  hdfs dfs -ls
-rw-r--r--   3 popeye hdfs  127162942 2016-04-01 19:47 .

在 hdfs-site.xml 中,我发现以下条目 -

 <property>
      <name>dfs.datanode.data.dir</name>
      <value>/hadoop/hdfs/data</value>
      <final>true</final>
</property>

我试图运行以下命令,但它给出了错误 -

 [root@sandbox try]# hdfs dfs -copyFromLocal 1987.csv /hadoop/hdfs/data
copyFromLocal: `/hadoop/hdfs/data': No such file or directory

仅供参考 - 我在天蓝色服务器上的 hortonworks 沙箱上做这一切。

原文由 Popeye 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

你的方法是错误的,或者可能理解是错误的

dfs.datanode.data.dir ,是您要存储数据块的位置

如果您键入 hdfs dfs -ls / 您将获得 hdfs 中的目录列表。然后您可以使用 -copyFromLocal-put 将文件从本地传输到 hdfs 到特定目录或使用 -mkdir 您可以创建新目录

请参阅以下链接以获取更多信息

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html

原文由 BruceWayne 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果你运行:

 hdfs dfs -copyFromLocal foo.txt bar.txt

然后将本地文件 foo.txt 复制到您自己的 hdfs 目录 /user/popeye/bar.txt (其中 popeye 是您的用户名。)结果,以下实现相同:

 hdfs dfs -copyFromLocal foo.txt /user/popeye/bar.txt

在将任何文件复制到 hdfs 之前,请务必先创建父目录。您不必将文件放在此“主”目录中,但 (1) 最好不要将“/”与各种文件混杂在一起,以及 (2) 遵循此约定将有助于防止与其他用户发生冲突。

原文由 michael 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏