Actuator Elasticsearch healthcheck error


1. 相關環境

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
  <version>2.1.4.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
  <version>2.1.4.RELEASE</version>
</dependency>

2. 問題

當引入了spring-boot-start-actuator對項目中elasticsearch進行健康檢查時報錯:java.lang.NoClassDefFoundError: org/elasticsearch/client/Request

 

問題排查:

 

到這個包org.elasticsearch.client中去找,發現確實沒有Request類

這個包是在引入spring-boot-starter-data-elasticsearch的時候一起引入進來的

 

試圖改變包的版本,發現只有最新版本2.2.0中包含了org.elasticsearch.client.Request類

但是當我們把版本改到2.2.0的時候又會有新的錯誤,直接報: java.net.ConnectException: Connection refused

elasticsearch連不上了。

改變actuator的版本同樣不能解決問題。

3. 解決辦法

方法一
spring.data.elasticsearch.cluster-name=docker-cluster-50 spring.data.elasticsearch.cluster-nodes=ip:9300 spring.elasticsearch.rest.uris=["http://ip:9200"]
方法二
management.health.elasticsearch.enabled=false

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM