java - 无法在 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 客户端版本或某些网络配置有关。感谢任何建议。
解决方案
推荐阅读
- javascript - Javascript将字符串切成指定长度的块存储在变量中
- sql-server - Docker - 在作曲家之前或之后运行 Dockerfile 如何?
- python - 如何根据已计算的统计数据制作蜡烛图/箱线图?
- javascript - 当使用来自另一个函数的参数单击按钮时,我想将用户重定向到网页?
- python - 使用 multiprocess.Pool 同时运行 2 个应用程序
- c# - C#:设计一个更快的 Assert 函数,仅在触发时格式化错误字符串
- ruby-on-rails - Ruby on Rails 应用程序 - 没有要加载的文件
- excel - 将超过 24 小时的时间转换为 24 小时的时间
- docker - 从 docker-compose 容器(laradock)内部访问主机 VPN
- python - 任何人都可以在机器人框架中帮助我,如何禁用麦克风和摄像头访问或在弹出窗口打开时单击允许?