Spark java.lang.UnsupportedClassVersionError: xxxxxx: Unsupported major.minor version 52.0 解决方案

编程入门 行业动态 更新时间:2024-10-07 03:29:32

Spark java.lang.UnsupportedClassVersionError: xxxxxx: Unsupported major.minor version 52.0 <a href=https://www.elefans.com/category/jswz/34/1770581.html style=解决方案"/>

Spark java.lang.UnsupportedClassVersionError: xxxxxx: Unsupported major.minor version 52.0 解决方案

在运行Spark程序时,出现如下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/company/bi/spark/UserInfoToHbase : Unsupported major.minor version 52.0at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:800)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at java.URLClassLoader.defineClass(URLClassLoader.java:449)at java.URLClassLoader.access$100(URLClassLoader.java:71)at java.URLClassLoader$1.run(URLClassLoader.java:361)at java.URLClassLoader$1.run(URLClassLoader.java:355)at java.security.AccessController.doPrivileged(Native Method)at java.URLClassLoader.findClass(URLClassLoader.java:354)at java.lang.ClassLoader.loadClass(ClassLoader.java:425)at java.lang.ClassLoader.loadClass(ClassLoader.java:358)at org.apache.spark.deploy.yarn.ApplicationMaster.startUserApplication(ApplicationMaster.scala:639)at org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:392)at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:252)at org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$main$1.apply$mcV$sp(ApplicationMaster.scala:774)at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:67)at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:66)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:415)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1920)at org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:66)at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:772)at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)

当看到Unsupported major.minor version 52.0错误信息时,就可以确定是由于JDK版本低于1.8导致的。即编译时使用了JDK1.8,但是运行环境中的JDK版本低于1.8导致的。

我检查了集群中所有的主机,

[root@192.168.3.32 spark_job_file]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

发现所有的主机的JDK都是1.8。

经过检查,发现部分主机的环境变量中没有JAVA_HOME,于是有了以下两个方案:

方案1:由于我的运行模式为cluster,我在spark2-submit中添加了两个配置项,

--conf "spark.executorEnv.JAVA_HOME=/usr/java/jdk1.8.0_191-amd64" 
--conf "spark.yarn.appMasterEnv.JAVA_HOME=/usr/java/jdk1.8.0_191-amd64"

强制指定了JDK的路径,但是这有个前提就是spark所有节点的上的java_home必须一致,为了保证这一点,在安装JDK的时候可以使用 rpm包安装,这样默认路径就是一致的。

方案2:给所有的主机都配上JAVA_HOME,并指定到JDK1.8的安装路径

更多推荐

Spark java.lang.UnsupportedClassVersionError: xxxxxx: Unsupported major.minor ve

本文发布于:2024-03-23 21:27:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1743027.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:解决方案   UnsupportedClassVersionError   xxxxxx   lang   Spark

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!