2015-05-20 4 views
5

Hallo Ich versuche meinen ElasticSearch Client mit meinem localhost zu verbinden und versuche, die Indizes von dort zu bekommen.ElasticSearch gibt ReceiveTimeoutTransportException

import org.elasticsearch.action.get.GetResponse; 
import org.elasticsearch.client.Client; 
import org.elasticsearch.node.Node; 
import org.elasticsearch.client.transport.*; 
import org.elasticsearch.common.transport.*; 
import java.io.IOException; 
import static org.elasticsearch.node.NodeBuilder.nodeBuilder; 
public class ESClient 
{ 
    public static void search()throws IOException 
    { 
     Node node; 
     node = nodeBuilder().clusterName("elasticsearch").node(); 
     Client client; 
     client= new TransportClient() 
       .addTransportAddress(new InetSocketTransportAddress("localhost", 9200)); 
     GetResponse response; 
     response= client.prepareGet("twitter", "tweet", "1").execute() .actionGet(); 
     System.out.println(response.toString()); 

    } 
    public static void main(String args[])throws IOException 
    { 
     search(); 

    } 

} 

Ich habe die Indizes mit dem Terminal erstellt.

curl -XPUT 'http://localhost:9200/twitter/' curl -XPUT 'http://localhost:9200/twitter/_mapping/tweet' -d '{
"tweet": { "Eigenschaften": {
"message": { "type": "string" "store": true}}
}} '

Wenn ich es bin der Ausführung, der folgende Fehler ausgelöst wird,

NFO: [Blackheath] ausgefallenen Knoten Informationen für [# Transport # -1] [BLRMCB-C02L56J4DR53.local] [inet [localhost/127.0.0.1: 9200]] erhalten, Trenn ... org. elasticsearch.transport.ReceiveTimeoutTransportException: [] [inet [localhost/127.0.0.1: 9200]] [cluster: Monitor/Knoten/info] request_id [0] Zeitüberschreitung nach [5002ms] bei org.elasticsearch.transport.TransportService $ TimeoutHandler.run (TransportService.java:366) bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) bei java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) bei ja va.lang.Thread.run (Thread.java:745)

Exception in thread "main" org.elasticsearch.client.transport.NoNodeAvailableException: Keine von die konfigurierten Knoten zur Verfügung: [] bei org. elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable (TransportClientNodesService.java:278) bei org.elasticsearch.client.transport.TransportClientNodesService.execute (TransportClientNodesService.java:197) bei org.elasticsearch.client.transport.support. InternalTransportClient.execute (InternalTransportClient.java:106) um org.elasticsearch.client.support.AbstractClient.get (AbstractC lient.java:193) bei org.elasticsearch.client.transport.TransportClient.get (TransportClient.java:384) bei org.elasticsearch.action.get.GetRequestBuilder.doExecute (GetRequestBuilder.java:201) bei org.elasticsearch.action.ActionRequestBuilder.execute (ActionRequestBuilder.java:91) bei org.elasticsearch.action.ActionRequestBuilder.execute (ActionRequestBuilder.java:65) an .... ESClient.search (ESClient.java: 30) an .... ESClient.main (ESClient.java:36) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) unter sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) unter java.lang.reflect.Method.invoke (Method.java:497) unter com.intellij.rt.execution.application.AppMain.main (AppMain.java: 140)

Was das Problem ist, kann mir jemand sagen?

Antwort

0

Ich habe diesen Fehler, wenn ich von einem ElasticSearchAdapter für Abfragen zu einem SparkStreamingAdapter für die gleichen Abfragen wechselte. Ich musste den Port zu 9300 ändern, und dann erschien dieser Fehler nicht.

Diese Frage/Antwort hat mir geholfen, diese herauszufinden: Why can't I connect to ElasticSearch through Java API?

Verwandte Themen