【发布时间】:2015-05-07 20:00:49
【问题描述】:
我正在按照著名的Michael Noll Tutorial 实施 Hadoop 单节点集群。集群正在工作,用jps检查显示所有组件在start-all.sh执行后都在运行。
我在使用一些下载的文本复制 wordcount-example 时遇到问题。我下载了/tmp/gutenberg中的文件并检查了它们是否在那里,似乎是这样:
hduser@ubuntu:~$ ls -l /tmp/gutenberg/
insgesamt 3604
-rw-r----- 1 hduser hadoop 674570 Mai 7 01:03 pg20417.txt
-rw-r----- 1 hduser hadoop 1573151 Mai 7 01:03 pg4300.txt
-rw-r----- 1 hduser hadoop 1423803 Mai 7 01:03 pg5000.txt
然后我按照教程中的说明启动Hadoop集群,然后执行如下:
hduser@ubuntu:~$ hadoop dfs -copyFromLocal /tmp/gutenberg /user/hduser/gutenberg
copyFromLocal: `/user/hduser/gutenberg': No such file or directory
显然没有文件/user/hduser/gutenberg,所以我用以下内容创建了它:
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop fs -mkdir -p /user/hduser/gutenberg
然后重新运行 copyFromLocal 命令,没有任何错误。如果我然后检查文件是否在那里,我会得到:
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hduser/gutenberg
Found 1 items
drwxr-xr-x - hduser supergroup 0 2015-05-07 02:22 /user/hduser/gutenberg/gutenberg
所以,如您所见,文本文件不在那里。如果我重新运行 copyFromLocal 命令,我会收到一条消息,指出文件 在 那里:
hduser@ubuntu:/usr/local/hadoop$ hadoop dfs -copyFromLocal /tmp/gutenberg /user/hduser/gutenberg
copyFromLocal: `/user/hduser/gutenberg/gutenberg/pg20417.txt': File exists
copyFromLocal: `/user/hduser/gutenberg/gutenberg/pg4300.txt': File exists
copyFromLocal: `/user/hduser/gutenberg/gutenberg/pg5000.txt': File exists
我不明白这里出了什么问题,非常感谢任何帮助解决这个问题!
【问题讨论】:
-
你需要再下一个目录。或者,您可以使用
-lsr列出目录树中的文件。-lsr递归搜索目录。 -
谢谢,对我有用的 commanf(Linux 和 Hadoop 的新手!:))
-
嘿@DatamineR,也许您可以将某些答案标记为已接受,对吗? ;)
-
既然你的答案是第一位的,我会接受它。
标签: hadoop mapreduce hdfs word-count