场景描述:由于业务要求想要使用Hudi,而hudi需要spark2.4.5+版本,canal+kafka+sss+hudi
当前版本:

hdp3.1.4
hadoop 3.1.0
hive 3.1.0
spark 2.3.0
scala 2.11.8

原计划升级ambari,但发现ambari2.7.5spark版本为2.3.3(好像)不满足要求
后决定在现有基础上升级spark

1. 升级scala

官网下载 scala.2.12.10

解压到linux上并配置环境变量,scala -version 查看无误后继续

2. 升级spark

部署集群过程简单不赘述

原计划下载升级spark2.4.8
遇到如下问题

问题 1. yarn使用的包为1.9低版本,与spark2.4.8解压后的jars目录下的包不匹配,出现: bad substitution

解决方法:

  1. 将新spark解压jars目录下jersey-client-xx.jar 移动或改名
  2. 将以下包find / -name 从机器上找出来放到新spark的jars目录下
  3. 在spark-defaults.conf文件最后增加两行(针对hdp升级)
    spark.driver.extraJavaOptions -Dhdp.version=3.1.4.0-315
    spark.yarn.am.extraJavaOptions -Dhdp.version=3.1.4.0-315
    3.1.4.0-315为hdp版本,可以看你的usr/hdp/xxx/此目录

spark-shell没有问题

问题 2 执行spark-sql报错 scala.MatchError: x.x (of class java.lang.String)

Exception in thread "main" scala.MatchError: 3.0 (of class java.lang.String)at org.apache.spark.sql.hive.client.IsolatedClientLoader$.hiveVersion(IsolatedClientLoader.scala:91)

由于hive版本为3.1.0
查看原始的spark-default.conf后发现 一行spark.sql.hive.metastore.version 3.0
经过本人多次更改scala版本\ 此参数值后还是报错
查看spark 2.4.x源码后发现只解析能解析如下hive版本参数

想要解决此问题需要自己修改源码编译spark

或者升级spark3.x

本人下载spark3.0.2后也是解决此问题

升级ambari spark至spark3.0.2 bad substitution 和scala.MatchError: x.x (of class java.lang.String)错误解决相关推荐

  1. springboot启动报错Parameter 0 of method a in com.* required a bean of type 'java.lang.String' that could

    springboot服务启动报错,报错信息如下 *************************** APPLICATION FAILED TO START ******************** ...

  2. java字符串构造函数的应用_构造函数中的参数0需要找不到类型为'java.lang.String'的bean...

    我正在使用Spring Boot 2.X应用程序进行Spring Batch,实际上我已经从git中检出了它的现有代码.在运行该应用程序时,由于以下错误而导致失败仅对我自己,而相同的代码对其他人也有效 ...

  3. Spark读取HDFS上的Snappy压缩文件所导致的内存溢出问题 java.lang.OutOfMemoryError: GC overhead limit exceeded

    报错java.lang.OutOfMemoryError: GC overhead limit exceeded HDFS上有一些每天增长的文件,使用Snappy压缩,突然某天OOM了 1.原因: 因 ...

  4. 使用jasypt3.0默认加密,启动时报:Failed to bind properties under ‘xxx.xxx.xxx‘ to java.lang.String

    官方描述,3.0后默认支持的算法为PBEWITHHMACSHA512ANDAES_256 ,该种加密方式由sha512 加 AES 高级加密组成. 需要JCE(Java Cryptography Ex ...

  5. Spark出现java.lang.stackoverflowerror的解决方法

    正在测试的程序需要多次迭代(400+次),每次迭代有复杂的运算 迭代到100多次的时候报java.lang.stackoverflowerror的错误 解决方法:先checkpoint()再count ...

  6. Spark官方文档——本地编写并运行scala程序

    快速开始 本文将介绍如何用scala.java.python编写一个spark单击模式的程序. 首先你只需要在一台机器上成功建造Spark:做法: 进入Spark的根目录,输入命令:$ sbt/sbt ...

  7. java string jdk_Java.lang.String中JDK API 1.6.0摘要。

    Java.lang.String中JDK API 1.6.0摘要. String 类代表字符串.示例: String str = "abc"; 字符串是常量,它们的值在创建之后不能 ...

  8. Spark3.0发布了,代码拉过来,打个包,跑起来!| 附源码编译

    作者 | 敏叔V587 责编 | 徐威龙 封图| CSDN 下载于视觉中国 Spark3.0已经发布有一阵子了,官方发布了预览版,带来了一大波更新,对于我们程序员来说,首先当然是代码拉过来,打个包,跑 ...

  9. CentOS 7上搭建Spark3.0.1+ Hadoop3.2.1分布式集群

    CentOS 7上搭建Spark3.0.1+ Hadoop3.2.1分布式集群 VMWare 安装CentOS 7 使用Xshell连接虚拟机 集群设置 安装JDK 1.8 SSH 免密登陆 安装ha ...

最新文章

  1. Ubuntu 12.04搭建MTK 6577 安卓开发环境
  2. Android --- View.inflate()的详细介绍
  3. 深度学习网络调试技巧
  4. Jquery实现类似百度的搜索框
  5. 对于我的博客的相关说明
  6. 干货分享:单片机编程学习攻略!
  7. linux中memcpy实现分析,ARM64 的 memcpy 优化与实现
  8. 解决“计划任务不存在的问题”方法
  9. 专业工程师看过来~ | RDD、DataFrame和DataSet的细致区别
  10. iOS 开发-单元测试
  11. c# xls 复制一行_编写干净的C#代码技巧
  12. 转载浅谈MFC内存泄露检测及内存越界访问保护机制
  13. 计算机硬件 - 主板
  14. java wait until_java调用ktr文件trans.waitUntilFinished()超时
  15. Mysql之分组查询
  16. 电容外观检测(牛角电容瑕疵缺陷视觉检测系统)
  17. C# CSV文件读写
  18. 看,那些在台风中挣扎的记者们
  19. STM32软件定时器的设计
  20. H5/前端接入百度统计(企业级方案入门)——事件统计

热门文章

  1. 搭建Jenkins持续集成环境
  2. python求10以内的素数_python如何求100以内的素数
  3. python求10以内的素数_python 求100以内的素数
  4. 字节流和字符流到底怎么用
  5. 一对一直播源码开发基础方案全面讲解,拯救不开心
  6. 博途调试g120_博途软件可以调试G120和S120么
  7. 时间敏感型网络协议解读
  8. pdf 密码去除 pdf转为word
  9. python解决警告InsecureRequestWarning: unverified HTTPS request is being made to host
  10. python语音唤醒_用Python为女朋友打造一款智能语音闹钟