Hadoop“ put”命令:无此类文件或目录

时间:2018-12-04 03:10:19

标签: hadoop

我试图将文本文件添加到HDFS文件系统中,但是Hadoop拒绝了它,并显示错误消息“无此文件或目录”。

$ bin/hdfs dfs -put /home/NDelt/Datasets/SampleText.txt /home/NDelt/HadoopDir/hdata
put: `/home/NDelt/HadoopDir/hdata': No such file or directory: `hdfs://localhost:9000/home/NDelt/HadoopDir/hdata'

但是SampleText.txthdata目录的路径正确。有什么问题吗?

这是我的hdfs-site.xml文件:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/NDelt/HadoopDir/hdata/dfs/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/NDelt/HadoopDir/hdata/dfs/datanode</value>
  </property>
</configuration>

2 个答案:

答案 0 :(得分:2)

正如cricket_007所述,HDFS中没有/ home目录。

如何测试hdfs put

  

$ bin / hdfs dfs -put /home/NDelt/Datasets/SampleText.txt / tmp

并测试文件是否通过以下方式添加到HDFS中:

  

$ bin / hdfs dfs -get /tmp/SampleText.txt

如果文件内容较小,还可以查看内容

  

$ bin / hdfs dfs -cat /tmp/SampleText.txt

答案 1 :(得分:1)

在HDFS上,没有/home目录

您在HDFS中的用户帐户将位于/user

您需要使用hdfs mkdir -p显式创建要首先放置文件的HDFS父路径

也不需要将本地文件系统完全匹配到HDFS中