【问题标题】:HDFS error put: `input': No such file or directoryHDFS 错误输入:“输入”:没有这样的文件或目录
【发布时间】:2015-02-01 19:16:47
【问题描述】:

我已经安装了 hadoop 2.6.0 并且正在使用它。我正在尝试伪分布式设置,并按照http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Execution 上的说明进行操作 我被困在第 5 步,即当我运行命令时

  bin/hdfs dfs -put etc/hadoop input

我收到以下错误。

15/02/02 00:35:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
put: `input': No such file or directory

为什么会出现此错误?我该如何解决?

【问题讨论】:

标签: hadoop mapreduce hdfs hadoop2


【解决方案1】:

除了 Ashrith 写的 -p 也可以添加,以防目录尚未创建。

bin/hadoop fs -mkdir -p /path/to/hdfs/dir

希望这对其他人有所帮助。

【讨论】:

【解决方案2】:

您收到错误消息,因为路径中没有指定这样的目录。请查看 my answer to a similar question,它解释了 hadoop 如何解释相对路径。

确保首先使用以下命令创建目录:

bin/hadoop fs -mkdir input

然后尝试重新执行命令-put

【讨论】:

    【解决方案3】:

    只要把“/”放在输入前面,因为它是一个目录。

    ./bin/hdfs dfs -put etc/hadoop /input
    

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      上面的问题分两部分:

      1. 它显示警告那是因为 U 必须使用 64 位和 Hadoop Native Lib 以 32 位编译。这是一个警告,因此不会影响您的代码。
      2. 第二个是错误,主要是因为它无法将文件放入输入文件夹中。你需要使用 hadoop mkdir 命令在 hadoop 中创建文件夹:

      hadoop fs -mkdir /hadoopinput

      或[对于新版本]

      hdfs dfs -mkdir /hadoopinput

      现在你可以把文件放到文件夹里了:

      hdfs dfs -put /Users/{用户名}/Desktop/file01 /hadoopinput

      要检查文件是否复制到文件夹内或不使用以下命令:

      hdfs dfs -ls /hadoopinput

      【讨论】:

        【解决方案5】:

        已解决: 1.在hdfs中创建你的目录 hdfs dfs -mkdir /input_file_name 2.将数据复制到hdfs。 hadoop fs -put filename.txt /input_file_name/output_file_name

        【讨论】:

          【解决方案6】:

          有两个错误,第一个是您平台的原生 hadoop 库。这是因为您没有为您的 hadoop 版本安装 hadoop winutils。检查此答案以获取更多详细信息https://stackoverflow.com/a/46382570/6337190 第二个错误是没有这样的文件或目录。这是因为您必须正确指定路径。将目录更改为您的 hadoop/bin/ 并编写命令

          制作目录

          hdfs dfs -mkdir /input

          将文件放入目录

          hdfs dfs -put /path/to/file.txt /input

          查看目录中的文件

          hdfs dfs -ls /输入

          【讨论】:

            【解决方案7】:

            更改用户:所有者,如果想将任何文件从root直接写入hdfs

            sudo -u hdfs hdfs dfs -chown root:hdfs /user/file --{/file} 
            sudo -u hdfs hdfs dfs -chmod -R 775 /user/file
            

            或者

            sudo -u hdfs hdfs dfs -chown -R hdfs:hadoop /user/file 
            sudo -u hdfs hdfs dfs -chmod -R 1777 /user/file
            

            然后使用 put 命令

            sudo -u hdfs hdfs dfs -put /root/project/* /file --{/user/file}
            

            为我工作

            [root@spark ~]# sudo -u hdfs hdfs dfs -put /root/project/* /file/
            put: `file/': No such file or directory
            [root@spark ~]# hdfs dfs -put /root/project/* /file
            put: Permission denied: user=root, access=WRITE, inode="/file":hdfs:hadoop:drwxr-xr-t
            
            [root@spark ~]# sudo -u hdfs hdfs dfs -chown root:hdfs /file
            [root@spark ~]# hdfs dfs -put /root/project/*.csv /file
            [root@spark ~]# hdfs dfs -ls /file
            

            找到 12 件商品

            rw-r--r--   1 root hdfs    4662272 2019-04-28 06:23 /file/StokKs.csv
            rw-r--r--   1 root hdfs     302648 2019-04-28 06:23 /file/Stocks.csv
            rw-r--r--   1 root hdfs     284628 2019-04-28 06:23 /file/Stocks.csv
            rw-r--r--   1 root hdfs     568949 2019-04-28 06:23 /file/Satellite.csv
            rw-r--r--   1 root hdfs     579302 2019-04-28 06:23 /file/Stocks.csv
            rw-r--r--   1 root hdfs   24805721 2019-04-28 06:23 /file/medical.csv
            rw-r--r--   1 root hdfs    5650234 2019-04-28 06:23 /file/bank.csv
            rw-r--r--   1 root hdfs    2893092 2019-04-28 06:23 /file/facebook.csv
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2022-06-19
              • 2021-08-11
              • 1970-01-01
              • 2017-05-28
              • 1970-01-01
              • 1970-01-01
              • 2018-11-17
              • 2021-10-31
              相关资源
              最近更新 更多