项目中需要使用Spring Boot和Elasticsearch,es版本为6.7.2,需要发布版本了,凌晨一点,凌晨两点,三,四…第二天早上七点,发布失败了 T_T
排查开始:
第一步:版本对应关系
Spring Boot整合了ElasticSearch,只需要引入Spring Data Elasticsearch即可
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.2.10.RELEASE</version>
</dependency>
我们来看一下spring-data-elasticsearch 和Elasticsearch 版本对应关系
| Spring Data Release Train | Spring Data Elasticsearch | Elasticsearch | Spring Framework | Spring Boot |
|---|---|---|---|---|
| 2021.0 (Pascal) | 4.2.x | 7.12.0 | 5.3.x | 2.4.x |
| 2020.0 (Ockham) | 4.1.x | 7.9.3 | 5.3.2 | 2.4.x |
| Neumann | 4.0.x | 7.6.2 | 5.2.12 | 2.3.x |
| Moore | 3.2.x | 6.8.12 | 5.2.12 | 2.2.x |
| Lovelace | 3.1.x | 6.2.2 | 5.1.19 | 2.1.x |
| Kay | 3.0.x | 5.5.0 | 5.0.13 | 2.0.x |
| Ingalls | 2.1.x | 2.4.0 | 4.3.25 | 1.5.x |
参考地址:版本对应关系,elastic官方网址
第二步:配置排查
yaml配置:
spring:
data:
elasticsearch:
cluster-name: elasticsearch
cluster-nodes: 127.0.0.1:9300
properties配置:
# es集群的名字
spring.data.elasticsearch.cluster-name=elasticsearch
# es机器的可用节点
spring.data.elasticsearch.cluster-nodes=127.0.0.1:9300
注意:cluster-nodes采用transportclient连接,使用的端口号为tcp端口号,原来的配置使用的是http的端口号
排查出问题进行重新发布验证
第三步:重新发布验证
[2021-04-15 10:26:17,653] Artifact test:war: Artifact is deployed successfully
[2021-04-15 10:26:17,653] Artifact test:war: Deploy took 41,754 milliseconds
发布成功。
在项目中遇到SpringBoot与Elasticsearch6.7.2集成发布失败的问题,经过版本对应关系排查,发现SpringDataElasticsearch版本3.2.10.RELEASE与Elasticsearch6.7.2不兼容。调整为正确版本匹配后,配置yaml及properties文件,确保使用transportclient连接到es的9300端口。最终在重新发布后,项目部署成功。


被折叠的 条评论
为什么被折叠?



