Spark 读取ES采坑系列

目录

一、使用的插件

二、ES集群和Elasticsearch-hadoop版本问题

[三、Elasticsearch-hadoop 和Scala版本以及Spark版本(版本不匹配会有各种异常信息](#三、Elasticsearch-hadoop 和Scala版本以及Spark版本(版本不匹配会有各种异常信息)


一、使用的插件

复制代码
<dependency>
  <groupId>org.elasticsearch</groupId>
  <artifactId>elasticsearch-hadoop</artifactId>
  <version>xxx</version>
</dependency>

二、ES集群和Elasticsearch-hadoop版本问题

运行异常信息:

Cannot detect ES version - typically this happens if the network/Elasticsearch cluster is not accessible or when targeting a WAN/Cloud instance without the proper setting 'es.nodes.wan.only'

Invalid major version [5.6.3]. Version is lower than minimum required version [6.x].

原因:7.14.0版本以及以上要求ES集群的版本是6.X

解决方法:升级ES集群或者降低插件版本

三、Elasticsearch-hadoop 和Scala版本以及Spark版本(版本不匹配会有各种异常信息)

各种错误:

java.lang.NoSuchMethodError:scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

Caused by: java.lang.ClassNotFoundException: scala.collection.TraversableOnce$class

java.lang.NoClassDefFoundError: org/apache/spark/Partition$class

以上这些都是版本不一致导致的

解决办法

Elasticsearch-hadoop 的6.x~8.x 的Spark版本都是2.11的,所以如果你的Spark的jar包用的是2.12得改成2.11 并且scala的版本也得保持在2.11版本,比如spark-core_2.12 得改成spark-core_2.11。

还得注意一点:如果你的代码不是本地打包的话,还得注意一下打包环境的Spark版本版本,也得是3.0以下才行,不然还是会有问题。具体可以看版本对应关系

Spark和Scala个版本对应关系 具体可以看这里

相关推荐
TG:@yunlaoda360 云老大9 分钟前
如何评估华为云国际站代理商跨境合规要求?
大数据·数据库·华为云·云计算
CHrisFC12 分钟前
汽车零配件检测实验室LIMS系统应用实践
大数据·人工智能·汽车
TG:@yunlaoda360 云老大15 分钟前
如何了解华为云国际站代理商的GACS主要有什么作用呢?
大数据·华为云·云计算
CES_Asia17 分钟前
立即行动,锁定2026增长引擎:报名CES Asia机器人展,同步押注“具身智能”与亚洲市场
大数据·人工智能·百度·机器人
青软青之LIMS21 分钟前
破孤岛 统全局 智未来:King‘s LIMS集团版引领实验室数智化协同新生态
大数据·实验室信息管理系统·实验室数智化管理系统·实验室数字化管理系统·实验室综合管理平台
KG_LLM图谱增强大模型28 分钟前
【102页最新综述】AI智能体时代的记忆系统:形式、功能与知识图谱长记忆动态机制全景解析
大数据·人工智能·agent
jkyy201429 分钟前
从菜品识别到健康决策:AI技术如何赋能B端智慧饮食管理
大数据·人工智能·科技·健康医疗
Deepoch40 分钟前
从“功能机”到“智能体”:服务机器人的认知革命与产业重构
大数据·人工智能·科技·机器人·未来·具身模型·deepoc
ToB营销学堂40 分钟前
什么是自动化营销系统?目前有哪些自动化营销系统?
大数据
莫叫石榴姐1 小时前
ast 在 Dify 工作流中解析 JSON 格式数据的深度解析
大数据·网络·安全·json