Por que meu elasticsearch falhou ao criar transportclient na API JAVA?

Eu tenho um código simples de elasticsearch em Java assim:

public class TryElastic { public static void main(String[] args) throws UnknownHostException { Map json = new HashMap(); json.put("user","kimchy"); json.put("postDate",new Date()); json.put("message","trying out Elasticsearch"); try { Settings settings = Settings.settingsBuilder() .put("cluster.name", "elasticsearch") .put("client.transport.sniff", true).build(); TransportClient client = TransportClient.builder().settings(settings).build(); //client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); } catch (NoNodeAvailableException e) { System.out.println(e.toString()); } System.out.println("test"); } 

}

É muito simples, mas recebi um erro na seguinte linha:

 TransportClient client = TransportClient.builder().settings(settings).build(); 

Ele exibe uma mensagem de erro como esta:

 Exception in thread "main" java.lang.NullPointerException at java.io.Reader.(Reader.java:78) at java.io.InputStreamReader.(InputStreamReader.java:113) at org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198) at org.elasticsearch.node.internal.InternalSettingsPreparer.finalizeSettings(InternalSettingsPreparer.java:177) at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:64) at org.elasticsearch.client.transport.TransportClient$Builder.build(TransportClient.java:119) at TryElastic.main(TryElastic.java:64) 

Então, você pode me dar uma sugestão, eu estou procurando a solução, e não consigo encontrar isso. Existe alguma configuração que eu tenha que implementar? Meu servidor elasticsearch correu corretamente, ele pode executar o índice e obter consultas no prompt de comando. Obrigado…

Este código funciona para mim. Este é o problema da versão. Porta padrão do TransportClient é 9300 e o código não é compilado com o Elasticsearch 2.0

Use isto :

Configurações settings = Settings.settingsBuilder () .put (“cluster.name”, clusterName) .build ();

Client client = TransportClient.builder (). Settings (configurações) .build () .addTransportAddress (novo InetSocketTransportAddress (novo InetSocketAddress (“127.0.0.1”, 9300)));

Consulte: Aqui está o link

Intereting Posts