maven JAR是否可以在hadoop上运行?

时间:2018-04-30 16:41:03

标签: maven hadoop mapreduce

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

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

maven JAR是否可以在hadoop上运行?

2 个答案:

答案 0 :(得分:0)

Maven是一个构建工具,可以创建Java工件。任何包含hadoop依赖项的JAR和在Manifest文件中具有main()方法的类都应该使用hadoop。

尝试使用以下命令运行JAR

hadoop jar your-jar.jar wordcount input output

其中“wordcount”是带有main方法的类的名称,“input”和“output”是参数。

答案 1 :(得分:0)

两件事

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

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吗?