ElasticSearch Java HighLevelRestClient Соединение отклонено

Я использую Java HighLevelRestClient для подключения к моему экземпляру asticsearch, размещенному на AWS. Я могу отправлять запросы на URL-адрес на почту и на мой браузер, но когда я использую клиентскую библиотеку, я получаю

java.net.ConnectException: соединение отказано.

(В настоящее время я не нуждаюсь в аутентификации, так как это небольшой публичный тестовый экземпляр). Это мой код:

RestHighLevelClient restHighLevelClient = new RestHighLevelClient (restClientBuilder);

GetRequest getRequest = new GetRequest ("some_index", "some_type", "some_id");
        final String []asticGetResponse = new String[1];

        restHighLevelClient.getAsync(getRequest, новый ActionListener() {

            @Override
            public void onResponse(GetResponse documentFields) {
                пытаться {
                    asticGetResponse[0] = restHighLevelClient.get(getRequest).toString();
                }

                catch (IOException e) {
                    e.printStackTrace();
                }

            }

            @Override
            public void onFailure(исключение e) {
                e.printStackTrace();
            }
        });

Пожалуйста, дайте мне знать, как я могу это исправить... спасибо!

Обновление: вот мой код для restClientBuilder:

MySSLHelper sslHelper = новый MySSLHelper(SSLConfig.builder()
                .withKeyStoreProvider(myKeyStoreProvider)
                .withTrustStoreProvider(InternalTrustStoreProvider.INSTANCE)
                .build());

        RestClientBuilder restClientBuilder = RestClient.builder(новый HttpHost("MY_ELASTICSEARCH_ENDPOINT")). SetHttpClientConfigCallback(новый RestClientBuilder.HttpClientConfigCallback() {)
            @Override
            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
                return httpAsyncClientBuilder.setSSLContext(sslHelper.getContext());
            }
        });

0 ответов

У меня была такая же проблема, и я решил поставить порт и протокол, как показано на этой странице:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.0/java-rest-high-getting-started-initialization.html

Мой код остался таким:

RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(elasticsearchHost, 9200, "http")));

Пожалуйста, попробуйте сделать что-то вроде этого:

RestClientBuilder restClientBuilder = RestClient.builder(new HttpHost("MY_ELASTICSEARCH_ENDPOINT", "MY_ELASTICSEARCH_PORT", "MY_ELASTICSEARCH_PROTOCOL"))...

Надеюсь это поможет.

Прощай.

Другие вопросы по тегам