ElasticSearch與Spring Boot集成問題


1None 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.5 y <= 1.3.4 z <= 1.7.2*
x >= 1.4.x 2.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即可。

 


免責聲明!

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



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