我在端口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();
答案 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