Hadoop 2.1.0-beta wordcount示例错误

时间:2013-09-22 17:54:50

标签: hadoop

我是hadoop的新手,有点困惑..我的版本是2.1.0-beta,我按照群集设置指南(http://hadoop.apache.org/docs/stable/cluster_setup.html)。

我正在尝试像http://wiki.apache.org/hadoop/WordCount中那样运行wordcount示例。 命令 ./hadoop dfs -copyFromLocal /home/user/input/inputfile /opt/hdfsdata/ 给了我:

DEPRECATED:不建议使用此脚本执行hdfs命令。 而是使用hdfs命令。

13/09/22 20:41:06 WARN conf.Configuration:错误的conf文件:元素没有 13/09/22 20:41:06 WARN util.NativeCodeLoader:无法为您的平台加载native-hadoop库...使用适用的builtin-java类 13/09/22 20:41:06 WARN conf.Configuration:糟糕的conf文件:元素没有 13/09/22 20:41:06 WARN conf.Configuration:糟糕的conf文件:元素没有 copyFromLocal:`/ opt / hdfsdata /':没有这样的文件或目录

/ opt / hdfsdata确实存在。

感谢您的任何提示!

2 个答案:

答案 0 :(得分:2)

/ opt / hdfsdata 可能代表本地FS上的路径,而命令 copyFromLocal 需要HDFS路径。确保HDFS上存在此路径,或者有权在HDFS中创建它。

如果要将其与本地FS一起使用,请使用具有适当方案的完整路径: 文件:///选择/ hdfsdata 即可。但是为什么要使用HDFS命令呢。普通的 cp ??

有什么问题

回复您的评论:

您已将文件复制到本地FS ,即 file:/// opt / hdfsdata / ,但您的工作是在HDFS中寻找此路径。这就是您收到此错误的原因。这就是 dfs -ls 没有显示任何内容的原因。在HDFS中复制文件或使用作业中的本地路径。

试试这个:

bin/hadoop fs -mkdir /opt/hdfsdata/

bin/hadoop fs -copyFromLocal /home/user/input/inputfile /opt/hdfsdata/

Now run your job.

此外,在运行HDFS shell命令时无需使用hdfs:/。

答案 1 :(得分:0)

通过以下链接,它将为您提供wordcount计划的解决方案。

http://cs.smith.edu/dftwiki/index.php/Hadoop_Tutorial_1_--_Running_WordCount#Basic_Hadoop_Admin_Commands

OR

运行以下命令,

hadoop dfs -ls /opt/hdfsdata 
/**if this command return your /opt/hdfsdata is directory then you can 
 easily write your file into hdfsdata directory. */

如果此命令在命令下面没有返回此类文件或目录。

hadoop dfs -mkdir /opt/hdfsdata