我已经成功安装了hadoop,现在我想运行它 Wordcount.jar
. 如下所示,我的源地址是 /user/amir/dft/pg5000.txt
保存结果的目标地址是 /user/amir/dft/output.txt
.
我已经下载了 .jar
来自此url的文件。现在,当我运行下面的命令时,我面临这个错误消息。我按照这个url上的说明操作,现在我的问题是“运行mapreduce作业”步骤。我怎样才能克服它?
amir@amir-Aspire-5820TG:/usr/local/hadoop$ bin/hadoop jar /usr/local/hadoop/wordcount.jar wordcount /user/amir/dft/pg5000.txt /user/amir/dft/output.txt
Exception in thread "main" java.lang.ClassNotFoundException: wordcount
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.util.RunJar.main(RunJar.java:205)
amir@amir-Aspire-5820TG:/usr/local/hadoop$
2条答案
按热度按时间im9ewurl1#
这意味着你指定的主类有一个拼写错误或其他错误。你的意思是
org.apache.hadoop.examples.WordCount
而不是wordcount
.doinxwow2#
你不需要下载新的
.jar
文件。hadoop的示例中已经有了wordcountjar。只需使用以下命令:输入和输出路径应该是hdfs上的目录,而不是文件。这将运行wordcount程序的所有文件上传到hdfs下
/user/amir/dft/
路径(包括您的pg5000.txt
文件)。编辑:如果您想运行您下载的这个特定jar,请遵循@samthebest的答案(请记住输入和输出路径是目录)。
edit2:根据这个答案的注解,似乎使用的hadoop版本比教程中描述的版本更新。所以
.jar
因为wordcount程序位于hadoop_root/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar
,正如本文所述。