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

Kum*_*hav 11 hadoop hdfs

我不知道这里发生了什么,但我试图将一个简单的文件从我本地文件系统的目录复制到为hdfs指定的目录.

在我的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>
Run Code Online (Sandbox Code Playgroud)

我使用以下命令 -

bin/hadoop dfs -copyFromLocal /home/vaibhav/ml-100k/u.data /home/vaibhav/Hadoop/dataNodeHadoopData
Run Code Online (Sandbox Code Playgroud)

将文件u.data从其本地文件系统位置复制到我指定为Hdfs目录的目录.但是,当我这样做时,没有任何反应 - 没有错误,没有.并且没有文件被复制到hdsf.难道我做错了什么?可能存在任何权限问题?

建议需要.

我正在使用伪分布式单节点模式.

另外,在相关的说明中,我想问一下,在我的map reduce程序中,我已将配置设置为指向inputFilePath为/home/vaibhav/ml-100k/u.data.那么它不会自动将文件从给定位置复制到hdfs吗?

har*_*pun 22

我相信dfs.data.dir并且dfs.name.dir必须指向两个不同的和现有的目录.此外,请确保在更改配置中的目录后格式化了namenode FS.

复制到HDFS时,您错误地指定了目标.将本地文件复制到HDFS的正确语法是:

bin/hadoop dfs -copyFromLocal <local_FS_filename> <target_on_HDFS>
Run Code Online (Sandbox Code Playgroud)

例:

bin/hadoop dfs -copyFromLocal /home/vaibhav/ml-100k/u.data my.data
Run Code Online (Sandbox Code Playgroud)

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