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

相关推荐
永洪科技4 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
weixin_307779135 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
大只鹅5 小时前
解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
spring boot·后端·elasticsearch
上海锝秉工控8 小时前
防爆拉线位移传感器:工业安全的“隐形守护者”
大数据·人工智能·安全
cv高级工程师YKY8 小时前
SRE - - PV、UV、VV、IP详解及区别
大数据·服务器·uv
bxlj_jcj9 小时前
深入Flink核心概念:解锁大数据流处理的奥秘
大数据·flink
云资源服务商9 小时前
阿里云Flink:开启大数据实时处理新时代
大数据·阿里云·云计算
Aurora_NeAr10 小时前
Spark SQL架构及高级用法
大数据·后端·spark
王小王-12310 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
数据与人工智能律师10 小时前
数字资产革命中的信任之锚:RWA法律架构的隐形密码
大数据·网络·人工智能·云计算·区块链