redis 哨兵模式Java连接提示
redis.clients.jedis.exceptions.JedisException: Can connect to sentinel, but mymaster seems to be not monitored...
Java配置参数如下
redis:
sentinel:
nodes: 10.10.10.1:26379
master: mymaster
password: o4XVnuFp7
错误 原因
因为哨兵配置sentinel.conf
中的服务器名称,和程序中哨兵连接池配置的服务器名称不一致导致的。
解决方法:
查看哨兵配置 sentinel.conf
,如下:
sentinel monitor devabcdocker 10.10.10.1 6379 2
其中的 哨兵配置中的服务器名称为 devabcdocker
接着再看java程序中的JedisSentinelPool配置的哨兵名称:
JedisSentinelPool sentinelPool=new JedisSentinelPool("myMaster",sentinelSet,jedisPoolConfig);
程序中的服务器名称为myMaster修改为devabcdocker