ottengo il seguente errore quando si tenta di connettersi a elasticsearch 2 utilizzando l'API Java per ES 2. Questo è il codice:elasticsearch - NoNodeAvailableException
Settings settings = Settings.settingsBuilder().put("cluster.name", Receptor.clusterName).build();
TransportClient transportClient = TransportClient.builder().settings(settings).build();
Client c = null;
try {
c = transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(Receptor.es_ip), 9300));
} catch (UnknownHostException e) {
System.err.println(Util.getTimestampStr() + "UnknownHostException error.");
e.printStackTrace();
}
CreateIndexRequestBuilder createIndexRequestBuilder = c.admin().indices().prepareCreate(indexName);
createIndexRequestBuilder.addMapping(documentName, json);
createIndexRequestBuilder.execute().actionGet();
sono in grado di ottenere il mio nodo ES sulla transportClient .connectedNodes() ma quando provo ad aggiungere una nuova mappatura ottengo l'eccezione NoNodeAvailableException. Questo codice ha funzionato con le versioni precedenti di Elasticsearch. Qualche idea di cosa c'è che non va?
NoNodeAvailableException[None of the configured nodes are available:
[]] at
org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:280)
at
org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:197)
at
org.elasticsearch.client.transport.support.TransportProxyClient.execute(TransportProxyClient.java:55)
at
org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:272)
at
org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:347)
at
org.elasticsearch.client.support.AbstractClient$IndicesAdmin.execute(AbstractClient.java:1177)
at
org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:85)
at
org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:59)
Se si configura il nodo nel cluster a cui si sta tentando di accedere come [in questo post] (http://stackoverflow.com/questions/33412549/how-to-bind-elasticsearch-2-0-on-oth -leopback-and-non-loopback-interface/33438638 # 33438638) vedi qualche miglioramento? Inoltre, sarei curioso di sapere quale IP stai usando per connettersi ai nodi, in relazione a quali IP i nodi ES riportano essere collegati all'avvio (qualcosa come '[INFO] [trasporto] [main_node_2_0] publ ish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}, {[:: 1]: 9300} 'nei log all'avvio). –
Hai giocato con la tua configurazione nel file 'elasticsearch.yml'? C'è qualcosa per 'minimum_master_nodes'? –
stai provando a comunicare il client elasticsearch esterno che è in esecuzione nell'host ['Receptor.es_ip'] con la porta' 9300' assicurati che elasticsearch sia in esecuzione o meno –