当我创建一个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
答案 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。
JDK编译器版本-------------JDK compiler version
target参数----------------target parameter
十六进制 minor.major------hexadecimal minor.major
十进制 minor.major--------decimal minor.major
不能带 target 参数--------can't add target parameter
默认为--------------------default