在aws emr上运行java 1.8时,不支持major.minor版本52.0

z9zf31ra  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(377)

这个问题在这里已经有答案了

如何修复java.lang.unsupportedclassversionerror:不支持的主要版本。次要版本(51个答案)
四年前关门了。
我正在尝试通过aws emr运行Java1.8MapReduce作业。我已经将compilecompliance和jre版本设置为1.8。但运行时仍会出现如下错误。
因为我使用的是一个stanfordapi,所以我无法切换到较低的java版本。有人能帮我一下吗。

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/neu/mr/cs6750/reducerjoin/ReduceSideJoin : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:274)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:205)
mf98qq94

mf98qq941#

使用此配置可以使用java8运行emr。这将hadoop env即hadoop java环境变量设置为java8
[{“configurations”:[{“classification”:“export”,“properties”:>{“java\u home”:“/usr/lib/jvm/java-1.8.0”}],“classification”:“hadoop->env”,“properties”:{}]
http://docs.aws.amazon.com/elasticmapreduce/latest/releaseguide/emr-configure-apps.html#configuring- java 8

相关问题