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个版本对应关系 具体可以看这里

相关推荐
酉鬼女又兒11 分钟前
零基础入门 DeepSeek V4 Pro API 开发:从环境搭建、消息格式规范到翻译函数实战、少样本提示、多轮对话聊天机器人与常见报错全流程详解指南
大数据·网络·数据库·人工智能·macos·机器人·github
ddshub_cc1 小时前
理解 Loop Engineering 与 AI 编程成本优化
大数据·人工智能·gpt·prompt·ai编程
喵喵喵~~~~1 小时前
2026 指挥控制台源头工厂深度测评:按行业项目落地能力择优采购指南
大数据·运维·人工智能·智能家居
喵喵喵~~~~1 小时前
2026 调度操作台厂商横向实测:多行业落地案例拆解,指挥中心控制台怎么选
大数据·人工智能
hkNaruto2 小时前
【大数据】Demo 城市供水管网智能监控系统——项目开发实施计划
大数据·人工智能
小顿的企业观察2 小时前
从人形机器人到AI销售智能体,AI正在重塑中企出海的底层逻辑
大数据·运维·人工智能·机器人·产品运营·制造
市象3 小时前
卡萨帝高端二十年,难靠冰洗再独秀
大数据·智能家居
Georgeviewer4 小时前
数字化工程落地复盘:通用SaaS架构的本地化缺陷与自研系统最优解|皖禾数智实战
大数据·人工智能·架构
2601_949816164 小时前
EasyMarkets:经纪商平台综合实力的理性评估
大数据
财复视界5 小时前
科源制药医药主业筑基,脑机接口与具身智能打开成长空间
大数据·人工智能·物联网