我有在独立模式下与 redis 连接的 spring boot 中编写的应用程序。现在我从独立模式转移到集群模式,但是在更改客户端级代码时遇到了以下问题。
nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR This instance has cluster support disabled
我花了很多时间并尝试了很多解决方案,但没有奏效。也许我错过了一些东西。为什么我的客户无法识别集群模式的任何线索。
- 在 redis.conf 文件中添加了以下配置并在集群模式下运行 redis 实例
端口 6379。启用集群是的。集群配置文件nodes.conf。cluster-node-timeout 15000. appendonly 是。
- 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'
任何人都可以帮助我做错或丢失的事情,我已经尝试了上述问题的几乎所有可能的解决方案。