ElasticSearch (Java) - узлы не настроены проблема
Я пытаюсь в простейшем случае подключиться к моему кластеру ES, но кажется, что регистрируемый хост не регистрируется. Это код, который я запускаю:
//Create the client
Client client = new TransportClient(ImmutableSettings.builder()
.put("cluster.name", "MyCluster")
.put("client.transport.sniff","true").build())
.addTransportAddresses(
new InetSocketTransportAddress("host1", 9300),
new InetSocketTransportAddress("host2", 9300));
// Try to make a call
SearchRequest sr = new SearchRequest().indices("MyIndex");
ActionFuture<SearchResponse> search = client.search(sr);
SearchResponse actionGet = search.actionGet(); // <-- Exception
System.out.println(actionGet.toString());
client.close();
Это исключение, которое я получаю:
Исключение в потоке "main" org.elasticsearch.client.transport.NoNodeAvailableException:
Ни один из настроенных узлов не доступен: []
Похоже, что нет подключенных узлов, что мне не хватает?
ПРИМЕЧАНИЕ: я использую эластичный поисковый клиент с Gradle:
скомпилируйте 'org.elasticsearch:asticsearch:1.7.5'
1 ответ
Решение
Есть несколько возможных причин для этого:
- Версии клиента и сервера могут быть разными
- Название кластера может быть другим
- При доступе к хосту и порту может возникнуть проблема с сетью.