HDFS错误放置:`input':没有这样的文件或目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS错误放置:`input':没有这样的文件或目录相关的知识,希望对你有一定的参考价值。

我已经安装了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

为什么我收到此错误?我该如何解决?

答案

除了Ashrith编写的内容之外,还可以添加-p,以防目录尚未创建。

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

希望这有助于其他人。

另一答案

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

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

bin/hadoop fs -mkdir input

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

另一答案

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

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

希望这可以帮助

另一答案

在上面的问题中有两部分:

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

hadoop fs -mkdir / hadoopinput

或[对于新版本]

hdfs dfs -mkdir / hadoopinput

现在你可以把文件放在文件夹中:

hdfs dfs -put / Users / {username} / Desktop / file01 / hadoopinput

要检查文件是否已复制到文件夹内,请使用以下命令:

hdfs dfs -ls / hadoopinput

另一答案

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

另一答案

有两个错误,首先是您的平台的本机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 / input

另一答案

更改用户:owner,如果要直接从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

以上是关于HDFS错误放置:`input':没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

[Hadoop]HDFS机架感知策略

Hadoop hdfs 显示 ls: `/home/hduser/input/': No such file or directory 错误

hdfs:在 sparkR shell 中读取 parquetfile 时没有此类文件或目录错误

输入路径不存在:hdfs://localhost:9000/user/rab/input

php问题求助,Notice: Undefined offset: 1 ,我的数组下标没有越界啊?为啥会有这样的提示呢?

线程 1 在放置按钮或标签 iOS 时发出信号 SIGABRT 错误