Elasticsearch基本客户端连接

时间:2016-07-18 09:51:04

标签: java elasticsearch client

我在端口9300上设置了SSH隧道到我的远程elasticsearch服务器。

运行此基本示例以从弹性搜索实例获取example data时,我得到一个" org.elasticsearch.client.transport.NoNodeAvailableException:没有可用节点&#34 ;

Settings settings = ImmutableSettings.settingsBuilder()
            .build();

    Client client = new TransportClient(settings).addTransportAddress(
            new InetSocketTransportAddress(InetAddress.getLocalHost().getHostName(), 9300));


    GetResponse getResponse = client.prepareGet("bank", "account", "25").execute().actionGet();

1 个答案:

答案 0 :(得分:0)

我的设置是我从本地主机连接到在docker-container中运行elasticsearch的远程计算机,并且使用带有netty4的transportclient在端口9300上遇到了相同的问题。连接到隧道端口9200没问题

transport.publish_host: localhost

已修复

所以我的es.yml现在有:

http.host: 0.0.0.0
transport.host: 172.18.0.33
transport.publish_host: localhost

我通过以下方法来建立隧道:

ssh -N -L 9300:172.18.0.33:9300 user@server.com