在运行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.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 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 version 52.0 解决方案相关推荐

  1. Unsupported major.minor version 52.0 解决方案

    Unsupported major.minor version 52.0 这个错误网上一百度一大堆,我就简单的记一下. 直译过来意思是:不支持version52.0,其中version 52.0是魔码 ...

  2. 【错误记录】jar 执行错误 ( java.lang.UnsupportedClassVersionError: Unsupported major.minor version 52.0 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 出错场景 : 在 [IntelliJ IDEA]导出可执行 JAR 包 博客中导出的 jar 包 ; 在 [IntelliJ IDEA]使用 exe ...

  3. java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0

    今天用mybatis-generator生成代码的时候,报了java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupp ...

  4. java.lang.UnsupportedClassVersionError: com/wyf/test/non/T : Unsupported major.minor version 52.0

    摘抄自本人博客,详细可以参考: https://blog.csdn.net/w8y56f/article/details/117825442 问题 java.lang.UnsupportedClass ...

  5. Android Studio出现UnsupportedClassVersionError Unsupported major.minor version 52.0

    解决Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.mino ...

  6. Java| unsupported major.minor version 52.0解决办法

    1.首先解释一下报错原因: stanford parser和jdk版本对应关系 J2SE 8 = 52, J2SE 7 = 51, J2SE 6.0 = 50, J2SE 5.0 = 49, JDK ...

  7. Java 解决 Unsupported major.minor version 52.0

    公司让我做一个项目,做了好几天..终于快做完了,就上线测试一下,结果虚拟主机的版本只有tomcat 6!!我的电脑tomcat 8.0和jdk8.0真是哭了. 无论怎么上传项目都  Unsupport ...

  8. IDEA java版本降级编译,解决JDK版本导致Unsupported major.minor version 52.0 error

    Intellij IDEA使用教程相关系列 目录 具体的操作,这位博友整理得很详细https://blog.csdn.net/huyishero/article/details/61916516 补充 ...

  9. JAVA异常:Unsupported major.minor version 52.0

    现象: 本来项目好好的跑着,然后pull了一波,重启发现报错了: Class XXX :Unsupported major.minor version 52.0 百度了一波,是因为经过高版本jdk编译 ...

  10. org/eclipse/jetty/server/Handler : Unsupported major.minor version 52.0

    注:本文来源于<org/eclipse/jetty/server/Handler : Unsupported major.minor version 52.0> Exception in ...

最新文章

  1. ceph unfound object问题的解决
  2. c语言构造满二叉树,递归创建二叉树c语言实现+详细解释
  3. java语言转换c语言,求助大神!!!JAVA转换成C语言
  4. mysql error 1449_MySql错误:ERROR 1449 (HY000)
  5. redhat下的iptables和firewalld 笔记
  6. python中string库_Python——string库
  7. vos3000怎样使用 IVR 语音流程跟踪分析
  8. w ndows10专业版连接不上网,Windows10连不上无线网怎么办 Windows10修复网络教程
  9. js简单图解冒泡排序
  10. qpython3安卓接口_qpython3 读取安卓lastpass Cookies
  11. IE11 For Win7、win2008中文版官方下载地址
  12. Oracle的Case When then end的用法
  13. Android kotlin 系列讲解(基础篇) Any和Any?
  14. 关于st-link与stm32f103c8t6连接
  15. 如何在html 中添加ppt文件,如何在ppt中插入网页
  16. x264命令参数与代码中变量的对应关系
  17. MySQL复制+高可用技术
  18. 1000个微信小程序源码分享
  19. Elasticsearch exception [type=action_request_validation_exception, reason=Validation Failed:
  20. Metaq的一些简单机制

热门文章

  1. 苹果已停产的 12 英寸 MacBook 和 iMac Pro或将回归
  2. ROS机器人020-机器人xacro与rviz室内slam建图仿真
  3. ssm框架整合案例--模糊查询书籍功能
  4. 教学演示软件 模型十三 排名模型
  5. 记录一期Thinkphp5 WebShell木马渗透的经历, 加修复建议
  6. Library projects cannot set applicationId. applicationId is set to ‘x.x.x‘ in default config.
  7. 【斐波那契数列细菌问题】细菌每一小时分裂一次 分裂三次后细菌不再分裂 所有细菌不会死亡
  8. 【渝粤教育】国家开放大学2018年春季 8624-22T物业管理案例分析 参考试题
  9. 写一本IT类的技术书籍,需要做哪些准备
  10. Survivor java_Survivor空间溢出实例