gpt4 book ai didi

AWS Managed Elasticsearch 上的 Java Elasticsearch 高级 REST 客户端库

转载 作者:行者123 更新时间:2023-12-01 23:21:10 26 4
gpt4 key购买 nike

我在 AWS Managed Elasticsearch 上使用 Java Elasticsearch Highlevel REST Client lib,如下所示,但出现错误。

public static void main(String[] args) throws Exception {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("https://search-xxxx-xxxxxxx.aws-region-x.es.amazonaws.com")));

ClusterHealthRequest req = new ClusterHealthRequest();
ClusterHealthResponse res = client.cluster().health(req, RequestOptions.DEFAULT);
System.out.println(res.toString());

client.close();
}

错误如下:

Exception in thread "main" java.io.IOException: https://search-xxxx-xxxxxxx.aws-region-x.es.amazonaws.com
at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:793)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:218)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:205)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1454)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
at org.elasticsearch.client.ClusterClient.health(ClusterClient.java:118)
at ClusterHealthCheck.main(ClusterHealthCheck.java:15)
Caused by: java.net.UnknownHostException: https://search-xxxx-xxxxxxx.aws-region-x.es.amazonaws.com
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager$InternalAddressResolver.resolveRemoteAddress(PoolingNHttpClientConnectionManager.java:664)
at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager$InternalAddressResolver.resolveRemoteAddress(PoolingNHttpClientConnectionManager.java:635)
at org.apache.http.nio.pool.AbstractNIOConnPool.processPendingRequest(AbstractNIOConnPool.java:474)
at org.apache.http.nio.pool.AbstractNIOConnPool.lease(AbstractNIOConnPool.java:280)
at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.requestConnection(PoolingNHttpClientConnectionManager.java:295)
at org.apache.http.impl.nio.client.AbstractClientExchangeHandler.requestConnection(AbstractClientExchangeHandler.java:377)
at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.start(DefaultClientExchangeHandlerImpl.java:129)
at org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:141)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:214)

我将此代码用于本地 Elasticsearch,一切正常。会发生什么?

最佳答案

我也遇到了同样的异常。我通过稍微更改主机并向 HttpHost 对象添加其他参数来解决这个问题。它看起来与 Seetha 的答案相似,但这对我不起作用。您可以尝试以下操作:

public static void main(String[] args) throws Exception {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("search-xxxx-xxxxxxx.aws-region-x.es.amazonaws.com", 443, "https")));

ClusterHealthRequest req = new ClusterHealthRequest();
ClusterHealthResponse res = client.cluster().health(req, RequestOptions.DEFAULT);
System.out.println(res.toString());

client.close();
}

关于AWS Managed Elasticsearch 上的 Java Elasticsearch 高级 REST 客户端库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58327402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com