小编Dee*_*ppa的帖子

无法访问 Redis(已启用集群模式)集群的端点

我有 1 个 VPC - 在 1 个 EC2 实例(亚马逊 ami )和 1 个 Redis(已启用集群模式)集群下,具有身份验证(密码)并且安全组对所有 IP:端口开放(仅用于测试目的) - 所以设置非常简单。

telnet 在我的 EC2 实例的端口 6379 上工作 - 配置端点 - Shard>eachNode EndPoint

无法使用 Redis CLI 连接到 Redis 服务器 - 无论端点是配置端点还是节点端点;使用 v.5.0.4 的 Redis CLI ;

请注意 - AWS ElastiCache Redis 集群(已禁用集群)或单服务器节点提供主端点,工作正常。仅当启用集群并获取 ConfigEndpoint/NodeEndPoints 时,才会出现问题。

配置端点:

[root@ip-xx-xx-xx-xx src]# ./redis-cli -h clustercfg.xxxx.xxxxx.use1.cache.amazonaws.com  -p 6379
Run Code Online (Sandbox Code Playgroud)

节点端点:

[root@ip-xx-xx-xx-xx src]# ./redis-cli -h xxxx-0001-0-01.xxxx.xxxxx.use1.cache.amazonaws.com  -p 6379
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

谢谢

redis amazon-elasticache redis-cli redis-cluster

5
推荐指数
1
解决办法
2422
查看次数

JedisConnectionException - 读取超时错误

我正在尝试使用 Spring Data Redis + Jedis 组合连接到 AWS ElastiCache Redis。[Redis 集群已启用,因此它具有集群配置端点,具有 3 个分片 - 每个分片有 1 个主节点 + 2 个副本节点]

我收到读取超时错误。

Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out

AWS Redis 服务器版本:5.0.3 / 集群模式:已启用 / SSL:已启用 / 身份验证:已启用(通过密码)

库 -- Spring-data-redis : 2.1.6.Release / jedis : 2.9.0

Telnet 适用于 AWS Redis 所有节点和 6379 端口上的集群配置端点。

我单独尝试了Redisson,它连接到AWS Redis,没有任何问题。

因此,Redis 本身没有问题,Spring Data Redis 与 Jedis 结合使用会出现问题。

我的代码看起来像这样 -

        RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration();
        redisClusterConfiguration.setClusterNodes(listOfRedisNode);
        redisClusterConfiguration.setPassword(passwordString);


        JedisClientConfiguration.JedisClientConfigurationBuilder jedisClientConfiguration = JedisClientConfiguration.builder();
        jedisClientConfiguration.connectTimeout(Duration.ofSeconds(60));
        jedisClientConfiguration.useSsl();
        jedisClientConfiguration.usePooling();


        JedisConnectionFactory jedisConnectionFactory …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services jedis spring-data-redis redis-cluster

5
推荐指数
1
解决办法
6243
查看次数