升级ambari spark至spark3.0.2 bad substitution 和scala.MatchError: x.x (of class java.lang.String)错误解决
场景描述:由于业务要求想要使用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
解决方法:
- 将新spark解压jars目录下jersey-client-xx.jar 移动或改名
- 将以下包find / -name 从机器上找出来放到新spark的jars目录下
- 在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)错误解决相关推荐
- springboot启动报错Parameter 0 of method a in com.* required a bean of type 'java.lang.String' that could
springboot服务启动报错,报错信息如下 *************************** APPLICATION FAILED TO START ******************** ...
- java字符串构造函数的应用_构造函数中的参数0需要找不到类型为'java.lang.String'的bean...
我正在使用Spring Boot 2.X应用程序进行Spring Batch,实际上我已经从git中检出了它的现有代码.在运行该应用程序时,由于以下错误而导致失败仅对我自己,而相同的代码对其他人也有效 ...
- Spark读取HDFS上的Snappy压缩文件所导致的内存溢出问题 java.lang.OutOfMemoryError: GC overhead limit exceeded
报错java.lang.OutOfMemoryError: GC overhead limit exceeded HDFS上有一些每天增长的文件,使用Snappy压缩,突然某天OOM了 1.原因: 因 ...
- 使用jasypt3.0默认加密,启动时报:Failed to bind properties under ‘xxx.xxx.xxx‘ to java.lang.String
官方描述,3.0后默认支持的算法为PBEWITHHMACSHA512ANDAES_256 ,该种加密方式由sha512 加 AES 高级加密组成. 需要JCE(Java Cryptography Ex ...
- Spark出现java.lang.stackoverflowerror的解决方法
正在测试的程序需要多次迭代(400+次),每次迭代有复杂的运算 迭代到100多次的时候报java.lang.stackoverflowerror的错误 解决方法:先checkpoint()再count ...
- Spark官方文档——本地编写并运行scala程序
快速开始 本文将介绍如何用scala.java.python编写一个spark单击模式的程序. 首先你只需要在一台机器上成功建造Spark:做法: 进入Spark的根目录,输入命令:$ sbt/sbt ...
- java string jdk_Java.lang.String中JDK API 1.6.0摘要。
Java.lang.String中JDK API 1.6.0摘要. String 类代表字符串.示例: String str = "abc"; 字符串是常量,它们的值在创建之后不能 ...
- Spark3.0发布了,代码拉过来,打个包,跑起来!| 附源码编译
作者 | 敏叔V587 责编 | 徐威龙 封图| CSDN 下载于视觉中国 Spark3.0已经发布有一阵子了,官方发布了预览版,带来了一大波更新,对于我们程序员来说,首先当然是代码拉过来,打个包,跑 ...
- 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 ...
最新文章
- Ubuntu 12.04搭建MTK 6577 安卓开发环境
- Android --- View.inflate()的详细介绍
- 深度学习网络调试技巧
- Jquery实现类似百度的搜索框
- 对于我的博客的相关说明
- 干货分享:单片机编程学习攻略!
- linux中memcpy实现分析,ARM64 的 memcpy 优化与实现
- 解决“计划任务不存在的问题”方法
- 专业工程师看过来~ | RDD、DataFrame和DataSet的细致区别
- iOS 开发-单元测试
- c# xls 复制一行_编写干净的C#代码技巧
- 转载浅谈MFC内存泄露检测及内存越界访问保护机制
- 计算机硬件 - 主板
- java wait until_java调用ktr文件trans.waitUntilFinished()超时
- Mysql之分组查询
- 电容外观检测(牛角电容瑕疵缺陷视觉检测系统)
- C# CSV文件读写
- 看,那些在台风中挣扎的记者们
- STM32软件定时器的设计
- H5/前端接入百度统计(企业级方案入门)——事件统计
热门文章
- 搭建Jenkins持续集成环境
- python求10以内的素数_python如何求100以内的素数
- python求10以内的素数_python 求100以内的素数
- 字节流和字符流到底怎么用
- 一对一直播源码开发基础方案全面讲解,拯救不开心
- 博途调试g120_博途软件可以调试G120和S120么
- 时间敏感型网络协议解读
- pdf 密码去除 pdf转为word
- python解决警告InsecureRequestWarning: unverified HTTPS request is being made to host
- python语音唤醒_用Python为女朋友打造一款智能语音闹钟