現象
1、啟動時候出現
node null not part of the cluster Cluster [********], ignoring...
2、啟動時正常,但是請求時出現
NoNodeAvailableException
原因
1、配置錯誤
使用Transport Client時要特別注意配置信息
(1)spring.data.elasticsearch.cluster-name
(2)spring.data.elasticsearch.cluster-nodes(有一種情況是訪問es是外網地址,但是卻在同一個內網環境中且內網訪問不通,這時要關閉嗅探功能)
(3)索引名稱
(4)TransportClient的訪問端口是9300!9300!9300
(5)Settings settings = Settings.builder() .put("client.transport.sniff", false)//關閉嗅探,避免進入內網搜索
當ES服務器監聽使用內網服務器IP而訪問使用外網IP時,如果將client.transport.sniff設置為true,則在自動發現時會使用內網IP進行通信,導致無法連接到ES服務器;建議將參數 設置為false,然后直接使用addTransportAddress方法手動添加入口節點;
(6)TransportClient版本與ES版本不一致;
(7)InetAddress.getByName()方法中參數值,必須替換為您的ES實例基本信息界面中的內網地址(比如192.168.0.37)。