Hadoop 将文件复制到 hadoop 文件系统

Posted

技术标签:

【中文标题】Hadoop 将文件复制到 hadoop 文件系统【英文标题】:Hadoop copying file to hadoop filesystem 【发布时间】:2016-01-11 12:01:25 【问题描述】:

我已将一个文件从本地复制到 hdfs 文件系统,并且该文件已被复制 -- /user/hduser/in

hduser@vagrant:/usr/local/hadoop/hadoop-1.2.1$ bin/hadoop fs -copyFromLocal /home/hduser/afile in

问题:- 1.hadoop如何默认将文件拷贝到这个目录--/user/hduser/in ...这个映射在conf文件中指定在哪里?

【问题讨论】:

【参考方案1】:

如果您编写上述命令,该文件将被复制到您用户的 HDFS 主目录,即 /home/用户名。也可以在这里查看:HDFS Home Directory。

如果您想将文件写入其他位置,您可以像在 Linux 文件系统中一样使用绝对路径名(以“/”开头)。

【讨论】:

【参考方案2】:

你使用的是默认虚拟机吗?基本上,如果您在不使用预配置 yum 包的情况下从二进制文件配置 hadoop。它没有默认路径。但是如果你通过 hortin 或 cloudera vm 使用 yum。我猜它带有默认路径

【讨论】:

【参考方案3】:

检查 hdfs-site.xml 以查看默认 fs 路径。因此“/”将指向上述 XML 中设置的基本 URL。该命令中提到的任何未使用主路径的文件夹都将附加到该文件夹​​。

【讨论】:

【参考方案4】:

hadoop 选择 hdfs-site.xml 中定义的默认路径并写入数据。 下图清楚地说明了 HDFS 中的写入工作原理。

【讨论】:

以上是关于Hadoop 将文件复制到 hadoop 文件系统的主要内容,如果未能解决你的问题,请参考以下文章

使用文件系统将数据从scala中的本地复制到远程hdfs位置时,hadoop权限被拒绝

Hadoop 配置---使用 HDFS

将远程文件放入hadoop而不将其复制到本地磁盘

hadoop CopytoLocal命令在哪里被记录?

将文件从 s3:// 复制到本地文件系统

Hadoop:如何将 reducer 输出合并到单个文件中? [复制]