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

时间:2015-02-01 19:16:48

标签: hadoop mapreduce hdfs hadoop2

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

  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

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

7 个答案:

答案 0 :(得分:7)

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

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

希望这有助于其他人。

答案 1 :(得分:3)

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

确保首先使用以下方式创建目录:

bin/hadoop fs -mkdir input

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

答案 2 :(得分:2)

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

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

希望这会有所帮助

答案 3 :(得分:0)

在上述问题中有两部分:

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

    或[对于新版本]

    hdfs dfs -mkdir / hadoopinput

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

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

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

    hdfs dfs -ls / hadoopinput

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

如果要直接从root写入任何文件到hdfs,请更改user:owner

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