1. 程式人生 > >redis.clients.jedis.exceptions.JedisException: Can connect to sentinel, but seems to be not monitored.

redis.clients.jedis.exceptions.JedisException: Can connect to sentinel, but seems to be not monitored.

在使用Redis的哨兵Sentinel配置時,報錯如下:

redis.clients.jedis.exceptions.JedisException: Can connect to sentinel, but myMaster seems to be not monitored.

報錯原因:

可能是因為哨兵配置sentinel.conf中的伺服器名稱,和程式中哨兵連線池配置的伺服器名稱不一致導致的。

解決方法:

檢視哨兵配置 sentinel.conf,如下:

sentinel monitor mymaster 192.168.0.102  6379 2

其中的 哨兵配置中的伺服器名稱為 mymaster。

接著再看java程式中的JedisSentinelPool配置的哨兵名稱:

  JedisSentinelPool sentinelPool=new JedisSentinelPool("myMaster",sentinelSet,jedisPoolConfig);

程式中的伺服器名稱為myMaster。

可以看到,sentinel.conf中配置的伺服器名稱和程式中的伺服器名稱不一樣,因此報錯。。將程式中的伺服器名稱改正就解決了。