elasticsearch 问题.

本文解决了SpringBoot项目集成ElasticSearch过程中遇到的版本冲突问题,包括Noneoftheconfigurednodesareavailable异常及@ConditionalOnMissingBean注解使用不当引发的问题,并提供了解决方案。

ElasticSearch与Spring Boot集成问题

1、None of the configured nodes are available 或者

  org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream

 原因:spring data elasticSearch 的版本与Spring boot、Elasticsearch版本不匹配。

 解决:

Spring Boot Version (x)Spring Data Elasticsearch Version (y)Elasticsearch Version (z)
x <= 1.3.5y <= 1.3.4z <= 1.7.2*
x >= 1.4.x2.0.0 <=y < 5.0.0**2.0.0 <= z < 5.0.0**

    这是版本之间的对应关系。Spring boot 1.3.5默认的elasticsearch版本是1.5.2,此时启动1.7.2版本以下的Elasticsearch客户端连接正常。

  注:注意java的es默认连接端口是9300,9200是http端口,这两个在使用中应注意区分。

2、Caused by: java.lang.IllegalArgumentException: @ConditionalOnMissingBean annotations must specify at least one bean (type, name or annotation)

  原因:spring boot是1.3.x版本,而es采用了2.x版本。在es的2.x版本去除了一些类,而这些类在spring boot的1.3.x版本中仍然被使用,导致此错误。

  解决:依照问题1中的版本对应关系,启动特定版本的es即可。

 

转载于:https://my.oschina.net/u/1867229/blog/839346

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值