Ysa*_*sak 14 java amazon-web-services elasticsearch amazon-elasticsearch
我正在尝试将AWS Managed ElasticSearch用于我的项目.
我已经关注了https://aws.amazon.com/blogs/aws/new-amazon-elasticsearch-service/,我可以启动一个实例并且成功了.但我无法使用elasticsearch传输客户端从我的服务连接到同一个实例.
我知道传输客户端应该连接到9300端口,而该端口我无法通过aws控制台打开.
这是我用来连接的代码,它可以成功连接到我在9300端口上的ec2机器上的弹性搜索设置.
ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder();
settings.put("cluster.name", "my-cluster-name")
.put("client.transport.nodes_sampler_interval", "15s")
.put("client.transport.ping_timeout", "15s")
.put("client.transport.sniff", true)
.put("client.transport.ignore_cluster_name", false).build();
client = new TransportClient(settings)
.addTransportAddress(
new InetSocketTransportAddress(
env.getProperty("elastic-host-url-provided-by-aws",80)
));
Run Code Online (Sandbox Code Playgroud)
我得到了例外
org.elasticsearch.client.transport.NoNodeAvailableException:没有配置的节点可用:[]位于org.elasticsearch.client.transport.TransportClientNodesService的org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:305).在org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:98)的org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106)执行(TransportClientNodesService.java:200)
我怀疑这个错误是因为我通过HTTP端口连接TransportClient.但我不知道aws托管弹性搜索实例的TCP端口是什么.我搜索了aws文件,但我找不到任何文件.如果有人使用TransportClient连接Amazon ES,请告诉我.
注意:我已经验证我使用的elasticsearch java jar版本与服务器相同.从我的系统我可以访问Kibana和ES HTTP PORTS没有任何问题.
| 归档时间: |
|
| 查看次数: |
9350 次 |
| 最近记录: |