• TDH报错 Unsupported major.minor version 52.0的解决方法


    1、概述

      相对于CDH使用yarn进行资源调度,TDH从6.x版本之后,就没有在使用yarn,而是默认使用K8S做资源调度了;假如在TDH上面安装了yarn组件,也可以使用yarn进行资源调度;

    2、自己开发的spark的jar提交到TDH上执行报错

      自己开发的spark的jar包提交到tdh上面执行时报错:Unsupported major.minor version 52.0。 这报错的原因class的编译和运行的jdk版本不一致导致的。在部署TDH的时候,TDH中也是使用的jdk1.8;那为何会出现版本不一致的情况呢?

      经过咨询TDH的客服,发现出现这个报错的原因是k8s使用的容器管理机制;在部署yarn的时候,默认容器中使用的是jdk1.7;而我们代码编译使用的却是1.8;导致出现的版本不一致问题。

    3、如何查询yarn容器的jdk版本

      1、查看yarn容器信息:docker ps | grep yarn |grep transwarp/yarn

      2、查看yarn容器的hash:docker exec -it e394341fcb72 hash

      3、查看yarn容器的jdk版本: ll  /usr/java/

     4、问题解决方法

      执行spark的作业时,指定jdk的目录为执行yarn的容器的jdk目录即可

     --conf "spark.executorEnv.JAVA_HOME=/usr/java/jdk1.8.0_25"

     --conf "spark.yarn.appMasterEnv.JAVA_HOME=/usr/java/jdk1.8.0_25"

      

  • 相关阅读:
    Yii2 框架目录
    实现超链接在本页面的跳转
    操作系统
    shell笔记
    软RAID5制作流程
    nginx学习之简化安装篇(一)
    Javascript中实现继承的方式
    JavaScript中的函数和C#中的匿名函数(委托、lambda表达式)
    JavaScript中变量、执行环境、作用域与C#中的异同
    Javascript与C#对变量的处理方式
  • 原文地址:https://www.cnblogs.com/chhyan-dream/p/15268052.html
Copyright © 2020-2023  润新知