首页 > 解决方案 > maven JAR 可以在 hadoop 上运行吗?

问题描述

为了从 hadoop mapreduce 程序(mapreduce wordcount 示例)生成 jar,我使用了 maven。在这里,我成功完成了“清理”和“安装”。还可以通过包含参数(输入和输出)作为 Java 应用程序运行来成功“构建”。它成功地提供了预期的结果。现在问题不在hadoop上运行。给出以下错误:

Exception in thread "main" java.lang.ClassNotFoundException: WordCount

maven JAR 可以在 hadoop 上运行吗?

标签: mavenhadoopmapreduce

解决方案


两件事情

1)我认为您在类名之前缺少包详细信息。复制您的包名并将其放在类名之前,它应该可以工作。

hadoop jar /home/user/examples.jar com.test.examples.WordCount /home/user/inputfolder /home/user/outputfolder

PS:如果您使用的是没有源代码的jar,您可以这样做

jar -tvf /home/user/examples.jar

它将打印所有类及其文件夹名称。将“/”替换为“.” (点),你会得到包名。但这需要 PATH 中的 JDK(而不是 JRE)。

2) 您正在尝试从 Windows 提示符运行 MapReduce 程序。你确定你的 Windows 上安装了 Hadoop 吗?


推荐阅读