Я пытаюсь использовать AWS Managed ElasticSearch для моего проекта.
Я следил за https://aws.amazon.com/blogs/aws/new-amazon-elasticsearch-service/, и я могу запустить экземпляр, и это успешно. Но я не могу подключиться к одному экземпляру из своей службы, используя транспортный клиент elasticsearch.
Я знаю, что транспортный клиент должен подключиться к порту 9300, и этот порт я не могу включить через консоль aws.
Вот код, который я использую для подключения, который успешно подключается к моей настройке гибкого поиска на машине ec2 на порте 9300.
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)
));
Я получаю исключение
org.elasticsearch.client.transport.NoNodeAvailableException: ни один из доступны сконфигурированные узлы: [] в org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:305) в org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:200) в org.elasticsearch.client.transport.support.InternalTransportClient.execute(InternalTransportClient.java:106) в org.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:98)
Я подозреваю, что эта ошибка связана с тем, что я подключаю TransportClient по HTTP-порту. Но я не знаю, что такое TCP-порт для ускоренного поиска экстази. Я искал в документах aws, и я не мог найти их. Если некоторые из них использовали TransportClient для подключения с Amazon ES, дайте мне знать.
NB: я проверил, что версия javas java javascript использование такого же, как и у сервера. И из моей системы я могу для доступа к Kibana и ES HTTP PORTS без каких-либо проблем.