redis主从配置问题:redis.conf主从配置可以正常使用,但是spring boot中配置主从启动出现问题

来源:3-6 Jedis配置优化(下)

小草1434

2018-03-26

Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR This instance has cluster support disabled
	at redis.clients.jedis.Protocol.processError(Protocol.java:127) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.Protocol.process(Protocol.java:161) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.Protocol.read(Protocol.java:215) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:285) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:291) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.Jedis.clusterSlots(Jedis.java:3376) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.JedisClusterInfoCache.discoverClusterNodesAndSlots(JedisClusterInfoCache.java:54) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.JedisClusterConnectionHandler.initializeSlotsCache(JedisClusterConnectionHandler.java:39) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.JedisClusterConnectionHandler.<init>(JedisClusterConnectionHandler.java:17) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.JedisSlotBasedConnectionHandler.<init>(JedisSlotBasedConnectionHandler.java:20) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.JedisSlotBasedConnectionHandler.<init>(JedisSlotBasedConnectionHandler.java:15) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.BinaryJedisCluster.<init>(BinaryJedisCluster.java:41) ~[jedis-2.9.0.jar:na]
	at redis.clients.jedis.JedisCluster.<init>(JedisCluster.java:83) ~[jedis-2.9.0.jar:na]
	at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createCluster(JedisConnectionFactory.java:306) ~[spring-data-redis-1.8.9.RELEASE.jar:na]
	at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createCluster(JedisConnectionFactory.java:280) ~[spring-data-redis-1.8.9.RELEASE.jar:na]
	at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.afterPropertiesSet(JedisConnectionFactory.java:241) ~[spring-data-redis-1.8.9.RELEASE.jar:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
	... 56 common frames omitted

在spring boot中的配置文件(yml)配置如下:

  redis:
      database: 0 
      timeout: 0 
      host: 127.0.0.1
      port: 6379  
      password:  
      pool: 
        max-active: 8  
        max-wait: -1  
        max-idle: 8  
        min-idle: 0
      cluster:  #删除该行1
        max-redirects: 1  #删除该行2
        nodes: 127.0.0.1:6380,127.0.0.1:6381  #删除该行3

如果上述配置中后三行(后面有标记删除该行)如果被删除的话,则运行正常,应用可以正常启动

写回答

3回答

小草1434

提问者

2018-03-28

我在yml和redis都已经配置了主从配置,为何spring boot应用启动报错.

如果yml取消配置主从,则应用正常启动

在不修改任何配置情况下【yml和conf都配置主从】,使用jedis没用任何问题

0
0

carlosfu

2018-03-27

你这个不是rediscluster,当然就报错了

0
0

小草1434

提问者

2018-03-26

master配置文件如下:
bind 127.0.0.1
port 6379
timeout 0
databases 16
slave1-6380配置文件如下:
bind 127.0.0.1
port 6380
cluster-enabled no
slaveof 127.0.0.1 6379
timeout 0
slave1-6381配置文件如下:
bind 127.0.0.1
port 6381
cluster-enabled no
slaveof 127.0.0.1 6379
timeout 0


0
0

一站式学习Redis 从入门到高可用分布式实践

Redis课程升级!系统梳理Redis知识体系,掌握redis必备!

2277 学习 · 261 问题

查看课程