2017-02-02 41 views
1

首先,我很抱歉我的英语。 我有一个Java API传输客户端的问题。我有一个主节点和三个数据节点。我的Elasticsearch版本是5.0.2,我使用5.0.2 API。没有节点Exception Elasticsearch 5.0.2

我尝试连接到我的传送客户群,然后我响应

Exception in thread "main" NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{8SAZOxXXTU61DuDDMN-vGw}{XX.XX.X.XXX}{XX.XX.X.XXX:9300}, {#transport#-2}{Fv3729YgTGClRBo5T2mWpA}{XX.XX.X.XXX}{XX.XX.X.XXX:9300}, {#transport#-3}{Fr98ApBbRv29Xv6Mc8L4TQ}{XX.XX.X.XXX}{XX.XX.X.XXX:9300}, {#transport#-4}{JOmpSH4LRzuP_XInxQtD9Q}{XX.XX.X.XXX}{XX.XX.X.XXX:9300}]] 
    at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:328) 
    at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:226) 
    at org.elasticsearch.client.transport.TransportProxyClient.execute(TransportProxyClient.java:59) 
    at org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:339) 
    at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:403) 
    at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:80) 
    at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:54) 
    at org.elasticsearch.action.ActionRequestBuilder.get(ActionRequestBuilder.java:62) 
    at nn.Main.main(Main.java:57) 

这是我的客户端代码:

import java.net.InetAddress; 
import java.net.UnknownHostException; 

import org.elasticsearch.action.search.SearchRequestBuilder; 
import org.elasticsearch.action.search.SearchResponse; 
import org.elasticsearch.action.search.SearchType; 
import org.elasticsearch.client.transport.TransportClient; 
import org.elasticsearch.common.settings.Settings; 
import org.elasticsearch.common.transport.InetSocketTransportAddress; 
import org.elasticsearch.index.query.QueryBuilders; 
import org.elasticsearch.xpack.client.PreBuiltXPackTransportClient; 

public class Main { 
    private static String[] hosts = new String[] { 
      "XX.XX.X.XXX" 
      ,"XX.XX.X.XXX" 
      ,"XX.XX.X.XXX" 
      ,"XX.XX.X.XXX"   
      }; 

    private static final Settings settings = Settings.builder() 
      .put("cluster.name", "myCluster") 
      .put("client.transport.sniff", true) 
      .put("transport.tcp.port", 9300) 
      .put("xpack.security.user", "transport_client_user:changeme") 
      .build(); 
    private static final String index = "myIndex"; 
    private static final String type = "myType"; 
    private static TransportClient client; 


    public static void main(String[] args) throws UnknownHostException { 

     InetSocketTransportAddress[] ista = new InetSocketTransportAddress[hosts.length]; 

     for (int i = 0; i < hosts.length; i++) { 
     ista[i] = new InetSocketTransportAddress(InetAddress.getByName(hosts[i]), 9300); 
    } 

     client = new PreBuiltXPackTransportClient(settings).addTransportAddresses(ista);   

     SearchRequestBuilder rb = client 
       .prepareSearch(index) 
       .setTypes(type) 
       .setSearchType(SearchType.DEFAULT) 
       .setQuery(QueryBuilders.termQuery("_id", 3524598)); 


     SearchResponse sResponse = rb.get(); 
     System.out.println(sResponse.toString()); 
    } 
} 

港口运输的客户端 - 9300,我的所有节点进行通信在这个端口下。我看到很多像我的问题,我试图按照其中的建议。但我有同样的例外。

如果需要更多信息或任何文件或设置我弹性 - 我准备好回答。

如果是重要的,这是elasticsearch.yml

cluster.name: myCluster 
node.name: elastic-0 

path.data: /var/db/elasticsearch 
path.logs: /var/log/elasticsearch 
path.scripts: /usr/local/libexec/elasticsearch 

network.host: _vmx0_ 

node.master: true 
node.data: false 
node.ingest: false 

node.attr.rack_id: rack_one 
cluster.routing.allocation.awareness.attributes: rack_id 

discovery.zen.minimum_master_nodes: 3 
discovery.zen.ping.unicast.hosts: ["XX.XX.X.XXX","XX.XX.X.XXX","XX.XX.X.XXX","XX.XX.X.XXX","XX.XX.X.XXX"] 

bootstrap.memory_lock: false 

xpack.monitoring.exporters: 
    id1: 
    type: http 
    host: ["XX.XX.X.XXX:9200"] 
    auth.username: remote_monitor 
    auth.password: changeme 

的内容我试图改变TransportClient上只是Client,并禁用client.transport.sniff,但没有结果。

对于任何帮助或想法,我都会非常感激。

+0

的可能的复制[配置的节点的爪哇ElasticSearch无可用(http://stackoverflow.com/questions/25912572/java-elasticsearch-none-of-the-configured-nodes - 可用) – Kulasangar

+0

@Kulasangar否,其他原因。 XPack采用弹性v5 – Valeriy

回答