【问题标题】:Unknown host exception while using Java APIs to index documents (RestHighLevelClient) Elasticsearch使用 Java API 索引文档时出现未知主机异常 (RestHighLevelClient) Elasticsearch
【发布时间】:2018-08-25 09:38:46
【问题描述】:

我正在使用 vpc 端点进行弹性搜索,以使用 RestHighLevelClient 为我的文档编制索引。

我使用java高级rest客户端v6.2.2连接Elasticsearch 6.0版

我无需任何身份验证即可访问我的集群端点 - https://vpc......us-east-1.es.amazonaws.com

代码如下:

          RestHighLevelClient client = null;

        try {
            Header[] headers = { new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/json")};

            RestClientBuilder restClientBuilder = RestClient.builder(new HttpHost("https://vpc...us-east-1.es.amazonaws.com", 9200, "https"));
            restClientBuilder.setMaxRetryTimeoutMillis(30); //Currently, set as default
            restClientBuilder.setDefaultHeaders(headers);

            client = new RestHighLevelClient(restClientBuilder);

            IndexRequest indexRequest = new IndexRequest(index, "doc", 1)
                    .source(documentJson, XContentType.JSON);


            indexRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);

            IndexResponse indexResponse = client.index(indexRequest);

        }catch(Exception e){

        }finally {
            try {
                client.close();
            } catch (IOException e) {

            }
        }
    }

例外:

Caused by: java.net.UnknownHostException: https://vpc-had-webapps-logs-umrm7skxqc2n5z6wc5jx632que.us-east-1.es.amazonaws.com/
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_45]
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) ~[na:1.8.0_45]
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) ~[na:1.8.0_45]
    at java.net.InetAddress.getAllByName0(InetAddress.java:1255) ~[na:1.8.0_45]
    at java.net.InetAddress.getAllByName(InetAddress.java:1171) ~[na:1.8.0_45]
    at java.net.InetAddress.getAllByName(InetAddress.java:1105) ~[na:1.8.0_45]
    at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) ~[httpclient-4.5.5.jar:4.5.5]
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager$InternalAddressResolver.resolveRemoteAddress(PoolingNHttpClientConnectionManager.java:637) ~[httpasyncclient-4.1.3.jar:4.1.3]
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager$InternalAddressResolver.resolveRemoteAddress(PoolingNHttpClientConnectionManager.java:608) ~[httpasyncclient-4.1.3.jar:4.1.3]
    at org.apache.http.nio.pool.AbstractNIOConnPool.processPendingRequest(AbstractNIOConnPool.java:474) ~[httpcore-nio-4.4.9.jar:4.4.9]
    at org.apache.http.nio.pool.AbstractNIOConnPool.lease(AbstractNIOConnPool.java:280) ~[httpcore-nio-4.4.9.jar:4.4.9]
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.requestConnection(PoolingNHttpClientConnectionManager.java:268) ~[httpasyncclient-4.1.3.jar:4.1.3]
    at org.apache.http.impl.nio.client.AbstractClientExchangeHandler.requestConnection(AbstractClientExchangeHandler.java:377) ~[httpasyncclient-4.1.3.jar:4.1.3]
    at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.start(DefaultClientExchangeHandlerImpl.java:129) ~[httpasyncclient-4.1.3.jar:4.1.3]
    at org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:141) ~[httpasyncclient-4.1.3.jar:4.1.3]
    at org.elasticsearch.client.RestClient.performRequestAsync(RestClient.java:346) ~[elasticsearch-rest-client-6.2.2.jar:5.6.8]
    at org.elasticsearch.client.RestClient.performRequestAsync(RestClient.java:328) ~[elasticsearch-rest-client-6.2.2.jar:5.6.8]
    at org.elasticsearch.client.RestClient.performRequest(RestClient.java:221) ~[elasticsearch-rest-client-6.2.2.jar:5.6.8]
    at org.elasticsearch.client.RestClient.performRequest(RestClient.java:194) ~[elasticsearch-rest-client-6.2.2.jar:5.6.8]
    at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:488) ~[elasticsearch-rest-high-level-client-6.2.2.jar:5.6.8]
    at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:474) ~[elasticsearch-rest-high-level-client-6.2.2.jar:5.6.8]
    at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:335) ~[elasticsearch-rest-high-level-client-6.2.2.jar:5.6.8]

欣赏任何输入。 谢谢!

【问题讨论】:

    标签: elasticsearch elasticsearch-6


    【解决方案1】:

    将 HttpHost 对象实例化替换为:

    new HttpHost("vpc-had-webapps-logs-umrm7skxqc2n5z6wc5jx632que.us-east-1.es.amazonaws.com", 9200, "https")
    

    喜欢this example

    【讨论】:

    • 好收获。它解决了我的问题。
    猜你喜欢
    • 2019-01-22
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多