0

我有在独立模式下与 redis 连接的 spring boot 中编写的应用程序。现在我从独立模式转移到集群模式,但是在更改客户端级代码时遇到了以下问题。

nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR This instance has cluster support disabled

我花了很多时间并尝试了很多解决方案,但没有奏效。也许我错过了一些东西。为什么我的客户无法识别集群模式的任何线索。

  1. 在 redis.conf 文件中添加了以下配置并在集群模式下运行 redis 实例

端口 6379。启用集群是的。集群配置文件nodes.conf。cluster-node-timeout 15000. appendonly 是。

  1. Redis 配置:127.0.0.1:6379

代码

public RedisConnectionFactory redisConnectionFactory() {
        log.debug("Redis host {} and port {}", redisHost, redisPort);
        JedisConnectionFactory jedisConnectionFactory;
        if (clusterEnabled) {
            String[] redisNodes = redisClusterNodes.split(",");
            List<String> redisNodesList = Arrays.asList(redisNodes);
            RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(redisNodesList);
            jedisConnectionFactory = new JedisConnectionFactory(redisClusterConfiguration);
        } else {
            final RedisStandaloneConfiguration redisStandaloneConfiguration =
                    new RedisStandaloneConfiguration(redisHost, Integer.parseInt(redisPort));
            redisStandaloneConfiguration.setPassword(redisPassword);
            redisStandaloneConfiguration.setDatabase(Integer.parseInt(redisDbIndex));
            jedisConnectionFactory = new JedisConnectionFactory(redisStandaloneConfiguration);
        }
        return jedisConnectionFactory;
    } 

版本

springBootVersion = '2.0.5.RELEASE' 名称:'spring-data-redis',版本:'2.1.3.RELEASE' 名称:'jedis',版本:'2.9.0'

任何人都可以帮助我做错或丢失的事情,我已经尝试了上述问题的几乎所有可能的解决方案。

4

0 回答 0