使用copyfromlocal开关将数据移动到hdfs

zaqlnxep  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(337)

我不知道这里发生了什么,但我正在尝试将一个简单的文件从本地文件系统的目录复制到为hdfs指定的目录。
在my hdfs-site.xml中,我使用以下属性指定hdfs的目录为/home/vaibhav/hadoop/datanodehadoopdata-

<name>dfs.data.dir</name>
<value>/home/vaibhav/Hadoop/dataNodeHadoopData/</value>

and 

<name>dfs.name.dir</name>
<value>/home/vaibhav/Hadoop/dataNodeHadoopData/</value>

我正在使用以下命令-

bin/hadoop dfs -copyFromLocal /home/vaibhav/ml-100k/u.data /home/vaibhav/Hadoop/dataNodeHadoopData

将文件u.data从其本地文件系统位置复制到我指定为hdfs目录的目录。但当我这么做的时候,什么都不会发生-没有错误,什么都不会。而且没有文件被复制到hdsf。我做错什么了吗?有没有权限问题?
需要建议。
我使用的是伪分布式单节点模式。
另外,我还想问一下,在map reduce程序中,我已经将配置设置为指向inputfilepath as/home/vaibhav/ml-100k/u.data。所以它不会自动将文件从给定位置复制到hdfs吗?

a9wyjsp7

a9wyjsp71#

我相信 dfs.data.dir 以及 dfs.name.dir 必须指向两个不同的现有目录。此外,在更改配置中的目录后,请确保已格式化namenode fs。
在复制到hdfs时,您错误地指定了目标。将本地文件复制到hdfs的正确语法是:

bin/hadoop dfs -copyFromLocal <local_FS_filename> <target_on_HDFS>

例子:

bin/hadoop dfs -copyFromLocal /home/vaibhav/ml-100k/u.data my.data

这将创建一个文件 my.data 在hdfs的用户主目录中。在将文件复制到hdfs之前,请确保您首先掌握了列出目录内容和目录创建。

相关问题