wordcount异常

bgtovc5b  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(344)

我已经成功安装了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$
im9ewurl

im9ewurl1#

这意味着你指定的主类有一个拼写错误或其他错误。你的意思是 org.apache.hadoop.examples.WordCount 而不是 wordcount .

doinxwow

doinxwow2#

你不需要下载新的 .jar 文件。hadoop的示例中已经有了wordcountjar。只需使用以下命令:

bin/hadoop jar hadoop*examples*.jar wordcount  /user/amir/dft /user/amir/dft-output

输入和输出路径应该是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 ,正如本文所述。

相关问题