首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行Wordcount文件

无法运行Wordcount文件
EN

Stack Overflow用户
提问于 2015-02-20 12:08:42
回答 2查看 706关注 0票数 0
代码语言:javascript
复制
hduser@ubuntu:~/Desktop$ hadoop jar wc.jar /usr/local/hadoop/input/sample.txt /usr/local/hadoop/output
Warning: $HADOOP_HOME is deprecated.

Exception in thread "main" java.lang.ClassNotFoundException: /usr/local/hadoop/input/sample/txt
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:274)
at org.apache.hadoop.util.RunJar.main(RunJar.java:153)

尝试使用java1.7和Hadoop1.2.1运行wordcount程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-20 14:58:59

您告诉hadoop您的主要类是“/usr/local/hadoop/ You /sample.txt”

代码语言:javascript
复制
 jar

Runs a jar file. Users can bundle their Map Reduce code in a jar file and execute it using this command.

Usage: hadoop jar <jar> [mainClass] args... 

您需要在java代码中使用它来设置jar类名。

代码语言:javascript
复制
job.setJarByClass(WordCount.class);
票数 0
EN

Stack Overflow用户

发布于 2015-03-19 13:44:44

job.setJarByClass(WordCount.class);

正如赫克托提到的那样,这个问题没有得到解决。这只是一个模糊的猜测。我还是得到了最初的症状。请在发帖前测试答案!

参见以下评论:Hadoop query regarding setJarByClass method of Job class

我会在这里粘贴引用链接,以防有一天它消失:

嗨,这个电话,

job.setJarByClass

告诉Hadoop要使用哪个jar。但是我们也告诉Hadoop在命令行上使用哪个jar,

hadoop jar您的-jar参数

为什么两个地方都需要这个?

谢谢,

标记

答:命令行中的jar可能仅仅是提交map- node作业的jar,而不是jar包含将被传输到不同节点的Mapper和Reducer。

您的jar真正所做的是设置类路径和其他相关环境,并在您的jar中运行主要方法。您可能在类路径中有一个不同的map-还原-jar,其中包含用于完成任务的真正的映射器和还原器。

最美好的祝愿,徐斯坦利

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28628635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档