无法在hadoop中执行程序

时间:2015-12-29 14:55:23

标签: java eclipse hadoop mapreduce

当我创建一个Jar并在Windows中编译并尝试在Hadoop中运行时。它在运行此脚本时抛出错误

admin1@admin1:/usr/local/hadoop/conf$ hadoop jar wordcount.jar com.shailu.wordcount.WordCount input/wordcount output/wordcount

错误是:

  

线程中的异常" main"因为java.lang.UnsupportedClassVersionError:   com / shailu / wordcount / WordCount:不支持的major.minor版本52.0

2 个答案:

答案 0 :(得分:3)

你的执行没有错,

看起来编译和执行环境不匹配。 在两种环境中键入“java -version”,即windows和hadoop(linux / unix)

我怀疑你是否已经在1.8等更高版本中编译代码,将其更改为1.7左右,你应该没问题。

或编译时选择与hadoop环境相同的java版本。

答案 1 :(得分:0)

我遇到过这样的问题。你需要在windows和hadoop或hadoop编译器之间保持编译器一致性高于windows'。查看图片我从互联网截图(包含一些中文,如果你可以打开它,你也可以拒绝这个网站:JDK compiler version mapping minor.major)。我猜JDK1.8.x正在映射major.minor版本52.0。 Picture of JDK compiler version mapping minor.major

JDK编译器版本-------------JDK compiler version
target参数----------------target parameter
十六进制 minor.major------hexadecimal minor.major
十进制 minor.major--------decimal minor.major
不能带 target 参数--------can't add target parameter
默认为--------------------default