異常org.elasticsearch.client.transport.NoNodeAvailableException
阿新 • • 發佈:2019-02-19
http://localhost:9200/_cluster/health/ 檢視一下:
{"cluster_name":"elasticsearch","status":"green","timed_out":false,"number_of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":0,"active_shards":0,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0}
本菜鳥我第一次接觸elasticsearch,一開始就碰到了No node available,誒,真的是菜鳥啊,用別人的例子照著做都不能跑出來,
現在依稀還記得這個問題是怎麼解決的,記錄下來吧
org.elasticsearch.client.transport.NoNodeAvailableException: No node available
可能是以下幾種錯
1 埠錯
client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));
這裡9300 寫成9200的話會No node available
要是你連的不是本機,注意IP有沒有正確
2 jar報引用版本不匹配,開啟的服務是什麼版本,引用的jar最好匹配(這個我沒有去試,反正我的是匹配的)
3 要是你改了叢集名字,還有設定叢集名字
Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "xxx").build();
client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));
本人的問題是:jar包版本不正確,將專案的elasticsearch版本和部署伺服器的jar包版本換成一致即可。