首页 > 解决方案 > 无法在 aws 中连接到 Dax 集群

问题描述

无法在 aws ec2 实例中连接 dax 集群。已将 ec2 实例和 dax 集群的 vpc 和子网以及安全组配置为相同。仍然收到此错误

2021-11-10 18:38:33.053  WARN 5340 --- [   DaxClient-14] com.amazon.dax.client.cluster.Cluster    : caught exception during cluster refresh: java.io.IOException: failed to configure cluster endpoints from hosts: [routerdax.6zosac.dax-clusters.us-west-2.amazonaws.com:9111]

java.io.IOException: failed to configure cluster endpoints from hosts: [routerdax.6zosac.dax-clusters.us-west-2.amazonaws.com:9111]
    at com.amazon.dax.client.cluster.Source$AutoconfSource.pull(Source.java:127) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.cluster.Source$AutoconfSource.update(Source.java:59) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.cluster.Source$AutoconfSource.refresh(Source.java:50) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.cluster.Cluster.refresh(Cluster.java:424) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.cluster.Cluster$3.run(Cluster.java:303) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_302]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_302]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_302]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_302]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_302]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_302]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_302]
    Suppressed: java.io.IOException: failed to configure cluster endpoints from hosts: [routerdax.6zosac.dax-clusters.us-west-2.amazonaws.com:9111]
        ... 12 common frames omitted
    Caused by: com.amazon.cbor.EndOfStreamException: null
        at com.amazon.cbor.CborInputStream.readObject(CborInputStream.java:1340)
        at com.amazon.dax.client.exceptions.DaxServiceException.pickException(DaxServiceException.java:44)
        at com.amazon.dax.client.generated.DaxClientStubs.handleResponse(DaxClientStubs.java:963)
        at com.amazon.dax.client.generated.DaxClientStubs.endpoints_455855874_1(DaxClientStubs.java:479)
        at com.amazon.dax.client.dynamodbv2.DaxClient.endpoints(DaxClient.java:2352)
        at com.amazon.dax.client.cluster.Source$AutoconfSource.pullFrom(Source.java:137)
        at com.amazon.dax.client.cluster.Source$AutoconfSource.pull(Source.java:105)
        ... 11 common frames omitted
Caused by: com.amazon.cbor.EndOfStreamException: null
    at com.amazon.cbor.CborInputStream.readObject(CborInputStream.java:1340) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.exceptions.DaxServiceException.pickException(DaxServiceException.java:44) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.generated.DaxClientStubs.handleResponse(DaxClientStubs.java:963) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.generated.DaxClientStubs.endpoints_455855874_1(DaxClientStubs.java:479) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.dynamodbv2.DaxClient.endpoints(DaxClient.java:2352) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.cluster.Source$AutoconfSource.pullFrom(Source.java:137) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    at com.amazon.dax.client.cluster.Source$AutoconfSource.pull(Source.java:105) ~[amazon-dax-client-1.0.205044.0.jar!/:1.0.205044.0]
    ... 11 common frames omitted

用过的

<!-- https://mvnrepository.com/artifact/com.amazonaws/amazon-dax-client -->
<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>amazon-dax-client</artifactId>
    <version>1.0.205044.0</version>
</dependency>

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-dynamodb</artifactId>
    <version>1.12.106</version>
</dependency>

DynamoBeanConfig 是

public AmazonDynamoDB amazonDynamoDBDax() {

        return AmazonDaxClientBuilder.standard()
                .withRegion(Regions.fromName(region)).withEndpointConfiguration(daxUrl).withCredentials(new AWSStaticCredentialsProvider(amazonBasicAwsCredentails())).build()        }

使用过 spring 框架,dynamoDBMapper 我认为问题与我正在使用的 dax 客户端版本或某些网络配置有关。感谢任何建议。

标签: javaamazon-web-servicesamazon-dynamodbdax

解决方案


推荐阅读