解決SpringBoot整合ElasticSearch遇到的連接問題
SpringBoot整合ElasticSearch的連接問題
failed to load elasticsearch nodes : org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{4J2eCGFXSZmM3xH72WIF5A}{192.168.252.200}{192.168.252.200:9300}]
我再使用SpringBoot2.2.0,ES版本5.5時(shí),Spring-boot-data-elasticsearch開發(fā)整合啟動(dòng)出現(xiàn)上面的錯(cuò)誤。
一開始以為是es節(jié)點(diǎn)名稱或者ip端口寫錯(cuò)了,但是看了半天也沒有問題,瀏覽器也可以直接訪問es集群。
之后去Spring文檔中查看,發(fā)現(xiàn)SpringBoot對(duì)Spring-boot-data-elasticsearch的版本進(jìn)行了講解
發(fā)現(xiàn)SpringBoot2.1.x使用的spring data es是3.1.x適配es6.x
而SpringBoot2.0.x使用3.0.x適配ES5.x
SpringBoot1.5.x就只能使用ES2.4.x的版本了
然后我把SpringBoot版本改為2.0.0之后成功啟動(dòng)沒報(bào)錯(cuò),并成功訪問
可以看到,正如文檔所說,SpringBoot2.0.0使用的Spring-data-elasticsearch是3.0.5的版本,即對(duì)于es5.x的版本
正確訪問接口
springboot整合Elasticsearch6.3.2踩坑
首先確保Elasticsearch6.3.2安裝成功
1.出現(xiàn)NoNodeAvailableException[None of the configured nodes are available
解決:elasticsearch6.3.2的配置文件修改如下:
network.host: 192.168.3.222 #改成自己局域網(wǎng)ip transport.tcp.port: 9300 #springboot連接使用的端口 transport.tcp.compress: true http.port: 9100
2.not part of the cluster,節(jié)點(diǎn)不屬于集群?jiǎn)栴}
本人使用的是單節(jié)點(diǎn)
在瀏覽器輸入ip+端口
上圖中框出來的就是在springboot配置文件中cluster-name的值
3.NoSuchFieldError: LUCENE_6_0_0
本人的springboot版本是2.1.7RELEASE,在依賴中加上
<dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>7.4.0</version> </dependency>
4.Elasticsearch health check failed
解決:增加spring.elasticsearch.rest 的配置
spring: data: elasticsearch: cluster-name: docker-cluster cluster-nodes: 192.168.3.68:9300 elasticsearch: rest: uris: [http://192.168.3.68:9100]
配置好 uris 即可~
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot整合Elasticsearch游標(biāo)查詢的示例代碼(scroll)
- es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程詳解
- SpringBoot整合Spring Data Elasticsearch的過程詳解
- SpringBoot整合Elasticsearch7.2.0的實(shí)現(xiàn)方法
- SpringBoot整合Elasticsearch并實(shí)現(xiàn)CRUD操作
- 解決springboot無法注入JpaRepository的問題
- SpringBoot3整合 Elasticsearch 8.x 使用Repository構(gòu)建增刪改查示例應(yīng)用
相關(guān)文章
Java多線程 兩階段終止模式Two-Phase Termination Patter
這篇文章主要介紹了Java多線程 兩階段終止模式Two-Phase Termination Patter,該模式有兩個(gè)角色,分別是Terminator,終止者,負(fù)責(zé)接收終止請(qǐng)求,執(zhí)行終止處理,處理完成后再終止自己。TerminationRequester終止請(qǐng)求發(fā)出者,用來向Terminator發(fā)出終止請(qǐng)求,需要的朋友可以參考一下2021-10-10一篇文章帶你了解JAVA面對(duì)對(duì)象三大特征之封裝
所有的面向?qū)ο缶幊陶Z言的思路都是差不多的,而這三大特性,則是思路中的支柱點(diǎn),接下來我就重點(diǎn)講解了一下java三大特性-封裝,感興趣的朋友跟隨腳本之家小編一起看看吧2021-08-08java使用POI批量導(dǎo)入excel數(shù)據(jù)的方法
這篇文章主要為大家詳細(xì)介紹了java使用POI批量導(dǎo)入excel數(shù)據(jù)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Mybatis實(shí)現(xiàn)插入數(shù)據(jù)后返回主鍵過程解析
這篇文章主要介紹了Mybatis實(shí)現(xiàn)插入數(shù)據(jù)后返回主鍵過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06