當前位置:網站首頁>NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}····

NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}····

2022-01-27 16:49:28 是牛大春呀

最近一直在搞一個與Spring Boot相關的項目,由於我的Elasticsearch並不是在本地Window中的,而是配置在Linux虛擬機中,然後就遇到了這樣的一個錯誤:

NoNodeAvailableException[None of the configured nodes are available:

什麼意思呢?翻譯過來就是:配置的節點均不可用
可是,我明明可以通過Window的瀏覽器端進行訪問的,如下圖:
在這裏插入圖片描述
9200是給瀏覽器進行測試訪問的,9300是給Java這種後端語言來進行訪問的。但即便把Spring Boot的application.yml配置設置為與Linux虛擬機ip對應的地址依然會報錯,這點讓我十分費解;
於是,網上搜集了一番資料,終於,找到了一絲的端倪。
原來,Spring Boot的版本,與Elasticsearch是有對應關系的,即,如果Spring Boot的版本比較低,然後Elasticsearch的版本又比較高的話,這就像依賴沖突那樣,會導致不能成功運行;
可能是Elasticsearch的默認依賴與Spring Boot的依賴對不上
可以將其默認配置修改一下pom配置:
在這裏插入圖片描述

或者將其Spring Boot的依賴版本修改一下;
在這裏插入圖片描述
我使用的Elasticsearch版本是6.3.0的,因此,理所當然的,與其對應的IK分詞器,Kibana等都是版本6.3.0的,然後由於Kibana版本太低的話,就會導致啟動報錯,這個問題怎麼解决呢?其實很簡單,只需要將配置改一下就好了;
打開Kibana安裝目錄中config包下的kibana.yml文件
在這裏插入圖片描述
在這個文件的末尾處添加如下字段:
在這裏插入圖片描述

kibana.index: ".kibana6"

然後,Elasticsearch的默認的集群名稱為elasticsearch,因此,在application.yml配置的時候cluster-name要和在瀏覽器9200端口訪問的保持一致:
在這裏插入圖片描述

然後,Kibana就能正常啟動了,如下圖:
在這裏插入圖片描述
然後,對於Elasticsratch的安裝,有點心得體會:
①將Elasticsearch壓縮包進行解壓,如果是tar.gz格式的壓縮包就使用:
tar -zxvf 這裏加壓縮包名

tar -zxvf elasticsearch-6.3.0.tar.gz

②由於Elastsearch是不允許root用戶進行訪問的,因此需要創建一個用戶
③創建完用戶之後,給文件對用戶進行分組

chown niu:niu elasticsearch-6.3.0
#將文件分給niu用戶niu組裏

④修改文件的訪問權限

chmod 777 elasticsearch-6.3.0

⑤修改配置文件elasticsearch.yml:

network.host: 0.0.0.0 # 綁定到0.0.0.0允許任何ip來訪問
#默認只允許本機訪問,修改為0.0.0.0後則可以遠程訪問

⑥進入bin目錄,執行Elasticsearch

./elasticsearch

然後會報錯,其原因並不是安裝失敗了,仔細看錯誤原因可以發現:
在這裏插入圖片描述

是權限不够的原因,即niu用戶不能够啟動Elasticsearch,這該怎麼辦呢?
此時需要給用戶授予權限
找到用戶所在的盤符比特置:/home/niu
在這裏插入圖片描述
執行授權指令

chmod -R 777 /home/niu

然後就可以正常運行了。

關於Elasticsearch插件的安裝:
在Elasticsearch的解壓包中的plugins中創建一個文件夾,以IK分詞器為例:
在plugins文件夾中創建一個名為IK的文件夾,然後將IK分詞器的壓縮包放在該文件夾下,並對其解壓,解壓完畢將其壓縮包删除就完成IK分詞器插件的安裝。

版權聲明
本文為[是牛大春呀]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271649283527.html

隨機推薦