【问题标题】:Hadoop 'put' command: No such file or directoryHadoop 'put' 命令:没有这样的文件或目录
【发布时间】:2018-12-05 10:42:31
【问题描述】:

我尝试将文本文件添加到 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>

【问题讨论】:

    标签: hadoop


    【解决方案1】:

    正如 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

    【讨论】:

    • 要“测试文件是否存在”,你应该实际使用test -e,而不是下载(get/cat)文件内容
    【解决方案2】:

    在HDFS上,没有/home目录

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多