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"))...
Надеюсь это поможет.
Прощай.