jedispool redis哨兵_通过java哨兵JedisSentinelPool代码示例连接对配置的redis哨兵主从模式进行测试验证...

一、前言

本文章通过关于java的jedis(2.6.0)的redis客户端连接驱动包,对配置的redis哨兵+主从读写模式配置进行示例代码验证,详细参见具体配置步骤&示例代码说明部分。

二、配置步骤

1. 安装redis(参考其他文章教程),并配置主从模式(参考其他相关文章,这里分别在本地通过配置进行模拟三台主从服务器,端口分别为6379、7380、6381)

2. 从解压安装文件复制sentinel.conf文件模板(具体操作如下,这边在一台服务器(192.168.1.202)上模拟三个sentinel哨兵服务器配置,分别对应下面的sentinel26379.conf 、sentinel26380.conf、sentinel26381.conf 配置文件)[root@centos6 redis-4.0.2]# cp  /home/soft/redis-4.0.2/sentinel.conf   /etc/redis/sentinel26379.conf@b@[root@centos6 redis-4.0.2]# cp  /home/soft/redis-4.0.2/sentinel.conf   /etc/redis/sentinel26380.conf@b@[root@centos6 redis-4.0.2]# cp  /home/soft/redis-4.0.2/sentinel.conf   /etc/redis/sentinel26381.conf

3. 分别修改sentinel26379.conf 、sentinel26380.conf、sentinel26381.conf配置..@b@#三个配置文件,分别设置为23679、26380、26381@b@port 26379@b@@b@...@b@@b@#三个配置文件相同@b@sentinel monitor mymaster 192.168.1.202 6381 1@b@...@b@#三个配置文件相同,其中密码根据情况进行设置,这边不用密码,另外6380、6379是在本地模拟两台redis的slave备用服务器@b@#sentinel auth-pass mymaster 123456@b@sentinel config-epoch mymaster 2237@b@sentinel leader-epoch mymaster 2237@b@sentinel known-slave mymaster 192.168.1.202 6380@b@sentinel known-slave mymaster 192.168.1.202 6381@b@@b@sentinel failover-timeout mymaster 18000@b@sentinel down-after-milliseconds mymaster 5000@b@@b@#下面redis-sentinel启动自动生成,无需手动配置@b@sentinel known-sentinel mymaster 192.168.1.202 26380 51df014024045d5382a408c4afe1f9c3287bd0e3@b@sentinel known-sentinel mymaster 192.168.1.202 26381 a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c@b@sentinel known-sentinel mymaster 192.168.1.202 26379 3deef21eea5f4a5198f71236bd1d0fc859c28ff7

4. 先启动三台redis主从服务器,再分别启动哨兵服务器,具体启动脚本顺序参考如下[root@centos6 redis]# /usr/local/bin/redis-server    /etc/redis/6379.conf@b@[root@centos6 redis]# /usr/local/bin/redis-server    /etc/redis/6380.conf@b@[root@centos6 redis]# /usr/local/bin/redis-server    /etc/redis/6381.conf[root@centos6 redis]# /usr/local/bin/redis-sentinel     /etc/redis/sentinel26379.conf    --protected-mode   no@b@[root@centos6 redis]# /usr/local/bin/redis-sentinel     /etc/redis/sentinel26380.conf    --protected-mode   no@b@[root@centos6 redis]# /usr/local/bin/redis-sentinel     /etc/redis/sentinel26381.conf    --protected-mode   no

三、代码示例package com.xwood.redis.sentinel;@b@@b@import java.util.HashSet;@b@import java.util.Set;@b@@b@import redis.clients.jedis.Jedis;@b@import redis.clients.jedis.JedisSentinelPool;@b@@b@public class RedisSentinelTest {@b@@b@    private  static JedisSentinelPool jSentinelPool;@b@@b@    public static void main(String[] args) throws  Exception{  @b@        @b@    Set sentinels = new HashSet();  @b@    sentinels.add("192.168.1.202:26379");@b@    sentinels.add("192.168.1.202:26380");@b@    sentinels.add("192.168.1.202:26381");@b@        @b@        String clusterName = "mymaster" ;    @b@        @b@        JedisSentinelPool jsentinelPool = new JedisSentinelPool(clusterName,sentinels);  @b@        Jedis jedis = null;  @b@        try {  @b@            jedis = jsentinelPool.getResource();  @b@            jedis.set("key", "aaa");  @b@            while(true){@b@             @b@            try { @b@                System.out.println(jedis.getClient().getHost()+":"+jedis.getClient().getPort()+"@"+jedis.get("key"));@b@} catch (Exception e) {@b@    System.out.println("getConntion  error,waiting  5s,will try again..."+e.getMessage());@b@    Thread.sleep(5000);@b@ try {@b@jedis = jsentinelPool.getResource();@b@} catch (Exception e1) {@b@System.out.println("getResource  error2,waiting  more,will try again..."+e.getMessage());@b@}  @b@} @b@            Thread.sleep(2000);@b@            }@b@            @b@           @b@        } catch (Exception e) {  @b@            e.printStackTrace();  @b@        } finally {  @b@            jedis.close();  @b@        }  @b@        jsentinelPool.close();  @b@    }  @b@    @b@@b@}

1. 分别kill  -9  6379、6380redis服务器模拟其宕机情况,控制台打印日志如下[root@centos6 redis]# ps  -ef|grep  redis@b@root      4570     1  0 06:15 ?        00:00:00 /usr/local/bin/redis-server *:6380              @b@root      4587  3809  0 06:17 pts/3    00:00:01 /usr/local/bin/redis-sentinel *:26379 [sentinel]                               @b@root      4591  3836  0 06:17 pts/1    00:00:01 /usr/local/bin/redis-sentinel *:26380 [sentinel]                               @b@root      4595  3859  0 06:17 pts/2    00:00:01 /usr/local/bin/redis-sentinel *:26381 [sentinel]                               @b@root      4764     1  0 06:27 ?        00:00:00 /usr/local/bin/redis-server *:6379              @b@root      4787     1  0 06:31 ?        00:00:00 /usr/local/bin/redis-server *:6381              @b@root      4792  3724  0 06:31 pts/0    00:00:00 grep redis@b@[root@centos6 redis]# kill  -9  4764@b@[root@centos6 redis]# ps  -ef|grep  redis@b@root      4570     1  0 06:15 ?        00:00:00 /usr/local/bin/redis-server *:6380              @b@root      4587  3809  0 06:17 pts/3    00:00:01 /usr/local/bin/redis-sentinel *:26379 [sentinel]                               @b@root      4591  3836  0 06:17 pts/1    00:00:01 /usr/local/bin/redis-sentinel *:26380 [sentinel]                               @b@root      4595  3859  0 06:17 pts/2    00:00:01 /usr/local/bin/redis-sentinel *:26381 [sentinel]                               @b@root      4787     1  0 06:31 ?        00:00:00 /usr/local/bin/redis-server *:6381              @b@root      4803  3724  0 06:33 pts/0    00:00:00 grep redis@b@[root@centos6 redis]# kill   -9  4570四月 17, 2019 11:37:57 下午 redis.clients.jedis.JedisSentinelPool initSentinels@b@信息: Trying to find master from available Sentinels...@b@四月 17, 2019 11:37:57 下午 redis.clients.jedis.JedisSentinelPool initSentinels@b@信息: Redis master running at 192.168.1.202:6379, starting Sentinel listeners...@b@四月 17, 2019 11:37:57 下午 redis.clients.jedis.JedisSentinelPool initPool@b@信息: Created JedisPool to master at 192.168.1.202:6379@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@192.168.1.202:6379@aaa@b@getConntion  error,waiting  5s,will try again...It seems like server has closed the connection.@b@getResource  error2,waiting  more,will try again...It seems like server has closed the connection.@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@四月 17, 2019 11:38:59 下午 redis.clients.jedis.JedisSentinelPool initPool@b@信息: Created JedisPool to master at 192.168.1.202:6380@b@192.168.1.202:6380@aaa@b@192.168.1.202:6380@aaa@b@192.168.1.202:6380@aaa@b@192.168.1.202:6380@aaa@b@192.168.1.202:6380@aaa@b@192.168.1.202:6380@aaa@b@...@b@192.168.1.202:6380@aaa@b@getConntion  error,waiting  5s,will try again...It seems like server has closed the connection.@b@getResource  error2,waiting  more,will try again...It seems like server has closed the connection.@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getResource  error2,waiting  more,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@getConntion  error,waiting  5s,will try again...java.net.SocketException: Software caused connection abort: socket write error@b@四月 17, 2019 11:40:57 下午 redis.clients.jedis.JedisSentinelPool initPool@b@信息: Created JedisPool to master at 192.168.1.202:6381@b@192.168.1.202:6381@aaa@b@192.168.1.202:6381@aaa@b@192.168.1.202:6381@aaa@b@192.168.1.202:6381@aaa@b@192.168.1.202:6381@aaa@b@192.168.1.202:6381@aaa@b@192.168.1.202:6381@aaa@b@...

2. 三台哨兵服务器打印日志如下[root@centos6 redis]# /usr/local/bin/redis-sentinel     /etc/redis/sentinel26379.conf    --protected-mode   no@b@4587:X 16 Apr 06:17:12.365 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo@b@4587:X 16 Apr 06:17:12.365 # Redis version=4.0.2, bits=64, commit=00000000, modified=0, pid=4587, just started@b@4587:X 16 Apr 06:17:12.365 # Configuration loaded@b@4587:X 16 Apr 06:17:12.366 * Increased maximum number of open files to 10032 (it was originally set to 1024).@b@                _._                                                  @b@           _.-''__ ''-._                                             @b@      _.-''    '.  '_.  ''-._           Redis 4.0.2 (00000000/0) 64 bit@b@  .-'' .-'''.  '''\/    _.,_ ''-._                                   @b@ (    '      ,       .-'  | ',    )     Running in sentinel mode@b@ |'-._'-...-' __...-.''-._|'' _.-'|     Port: 26379@b@ |    '-._   '._    /     _.-'    |     PID: 4587@b@  '-._    '-._  '-./  _.-'    _.-'                                   @b@ |'-._'-._    '-.__.-'    _.-'_.-'|                                  @b@ |    '-._'-._        _.-'_.-'    |           http://redis.io        @b@  '-._    '-._'-.__.-'_.-'    _.-'                                   @b@ |'-._'-._    '-.__.-'    _.-'_.-'|                                  @b@ |    '-._'-._        _.-'_.-'    |                                  @b@  '-._    '-._'-.__.-'_.-'    _.-'                                   @b@      '-._    '-.__.-'    _.-'                                       @b@          '-._        _.-'                                           @b@              '-.__.-'                                               @b@@b@4587:X 16 Apr 06:17:12.366 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.@b@4587:X 16 Apr 06:17:12.366 # Sentinel ID is 3deef21eea5f4a5198f71236bd1d0fc859c28ff7@b@4587:X 16 Apr 06:17:12.366 # +monitor master mymaster 192.168.1.202 6379 quorum 1@b@4587:X 16 Apr 06:17:17.407 # +sdown sentinel a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 192.168.1.202 26381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:18.020 # +new-epoch 2229@b@4587:X 16 Apr 06:17:19.634 # -sdown sentinel a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 192.168.1.202 26381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.512 # +sdown master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.512 # +odown master mymaster 192.168.1.202 6379 #quorum 1/1@b@4587:X 16 Apr 06:17:46.512 # +new-epoch 2230@b@4587:X 16 Apr 06:17:46.512 # +try-failover master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.514 # +vote-for-leader 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2230@b@4587:X 16 Apr 06:17:46.514 # 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2230@b@4587:X 16 Apr 06:17:46.538 # a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2230@b@4587:X 16 Apr 06:17:46.538 # 51df014024045d5382a408c4afe1f9c3287bd0e3 voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2230@b@4587:X 16 Apr 06:17:46.585 # +elected-leader master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.585 # +failover-state-select-slave master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.657 # +selected-slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.657 * +failover-state-send-slaveof-noone slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:46.733 * +failover-state-wait-promotion slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:47.631 # +promoted-slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:47.631 # +failover-state-reconf-slaves master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:47.669 * +slave-reconf-sent slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:48.614 * +slave-reconf-inprog slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:48.614 * +slave-reconf-done slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:48.677 # +failover-end master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:17:48.677 # +switch-master mymaster 192.168.1.202 6379 192.168.1.202 6381@b@4587:X 16 Apr 06:17:48.677 * +slave slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:17:48.677 * +slave slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:17:53.685 # +sdown slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:18:56.920 # -sdown slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:19:06.911 * +convert-to-slave slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:22:19.373 # +new-epoch 2231@b@4587:X 16 Apr 06:22:19.376 # +vote-for-leader 51df014024045d5382a408c4afe1f9c3287bd0e3 2231@b@4587:X 16 Apr 06:22:19.456 # +sdown master mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:22:19.456 # +odown master mymaster 192.168.1.202 6381 #quorum 1/1@b@4587:X 16 Apr 06:22:19.456 # Next failover delay: I will not start a failover before Tue Apr 16 06:22:56 2019@b@4587:X 16 Apr 06:22:20.511 # +config-update-from sentinel 51df014024045d5382a408c4afe1f9c3287bd0e3 192.168.1.202 26380 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:22:20.511 # +switch-master mymaster 192.168.1.202 6381 192.168.1.202 6379@b@4587:X 16 Apr 06:22:20.512 * +slave slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:22:20.512 * +slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:22:25.520 # +sdown slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:02.550 # -sdown slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.529 # +sdown master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.529 # +odown master mymaster 192.168.1.202 6379 #quorum 1/1@b@4587:X 16 Apr 06:24:45.529 # +new-epoch 2232@b@4587:X 16 Apr 06:24:45.529 # +try-failover master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.531 # +vote-for-leader 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2232@b@4587:X 16 Apr 06:24:45.531 # 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2232@b@4587:X 16 Apr 06:24:45.536 # a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2232@b@4587:X 16 Apr 06:24:45.536 # 51df014024045d5382a408c4afe1f9c3287bd0e3 voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2232@b@4587:X 16 Apr 06:24:45.593 # +elected-leader master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.593 # +failover-state-select-slave master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.649 # +selected-slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.649 * +failover-state-send-slaveof-noone slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.704 * +failover-state-wait-promotion slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.796 # +promoted-slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.796 # +failover-state-reconf-slaves master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:45.877 * +slave-reconf-sent slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:46.237 * +slave-reconf-inprog slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:46.237 * +slave-reconf-done slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:46.304 # +failover-end master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:24:46.304 # +switch-master mymaster 192.168.1.202 6379 192.168.1.202 6381@b@4587:X 16 Apr 06:24:46.304 * +slave slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:24:46.304 * +slave slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:24:51.310 # +sdown slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:27:32.660 # -sdown slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:28:08.962 # +new-epoch 2233@b@4587:X 16 Apr 06:28:08.964 # +vote-for-leader a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 2233@b@4587:X 16 Apr 06:28:09.054 # +sdown master mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:28:09.054 # +odown master mymaster 192.168.1.202 6381 #quorum 1/1@b@4587:X 16 Apr 06:28:09.054 # Next failover delay: I will not start a failover before Tue Apr 16 06:28:45 2019@b@4587:X 16 Apr 06:28:10.088 # +config-update-from sentinel a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 192.168.1.202 26381 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:28:10.088 # +switch-master mymaster 192.168.1.202 6381 192.168.1.202 6379@b@4587:X 16 Apr 06:28:10.088 * +slave slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:28:10.088 * +slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:28:15.112 # +sdown slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:31:10.395 # -sdown slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:31:49.008 # +sdown master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:31:49.008 # +odown master mymaster 192.168.1.202 6379 #quorum 1/1@b@4587:X 16 Apr 06:31:49.008 # +new-epoch 2234@b@4587:X 16 Apr 06:31:49.008 # +try-failover master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:31:49.025 # +vote-for-leader 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2234@b@4587:X 16 Apr 06:31:49.025 # 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2234@b@4587:X 16 Apr 06:31:49.025 # a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c voted for a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 2234@b@4587:X 16 Apr 06:31:49.025 # 51df014024045d5382a408c4afe1f9c3287bd0e3 voted for 51df014024045d5382a408c4afe1f9c3287bd0e3 2234@b@4587:X 16 Apr 06:31:59.568 # -failover-abort-not-elected master mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:31:59.635 # Next failover delay: I will not start a failover before Tue Apr 16 06:32:25 2019@b@4587:X 16 Apr 06:32:25.249 # +new-epoch 2235@b@4587:X 16 Apr 06:32:25.251 # +vote-for-leader a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 2235@b@4587:X 16 Apr 06:32:25.261 # Next failover delay: I will not start a failover before Tue Apr 16 06:33:01 2019@b@4587:X 16 Apr 06:32:26.459 # +config-update-from sentinel a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 192.168.1.202 26381 @ mymaster 192.168.1.202 6379@b@4587:X 16 Apr 06:32:26.459 # +switch-master mymaster 192.168.1.202 6379 192.168.1.202 6380@b@4587:X 16 Apr 06:32:26.459 * +slave slave 192.168.1.202:6381 192.168.1.202 6381 @ mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:32:26.459 * +slave slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:32:31.490 # +sdown slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:33:47.160 # +sdown master mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:33:47.160 # +odown master mymaster 192.168.1.202 6380 #quorum 1/1@b@4587:X 16 Apr 06:33:47.160 # +new-epoch 2236@b@4587:X 16 Apr 06:33:47.160 # +try-failover master mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:33:47.246 # +vote-for-leader 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2236@b@4587:X 16 Apr 06:33:47.247 # 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 voted for 3deef21eea5f4a5198f71236bd1d0fc859c28ff7 2236@b@4587:X 16 Apr 06:33:47.247 # a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c voted for a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 2236@b@4587:X 16 Apr 06:33:47.247 # 51df014024045d5382a408c4afe1f9c3287bd0e3 voted for 51df014024045d5382a408c4afe1f9c3287bd0e3 2236@b@4587:X 16 Apr 06:33:57.687 # -failover-abort-not-elected master mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:33:57.777 # Next failover delay: I will not start a failover before Tue Apr 16 06:34:23 2019@b@4587:X 16 Apr 06:34:23.255 # +new-epoch 2237@b@4587:X 16 Apr 06:34:23.258 # +vote-for-leader a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 2237@b@4587:X 16 Apr 06:34:23.291 # Next failover delay: I will not start a failover before Tue Apr 16 06:35:00 2019@b@4587:X 16 Apr 06:34:23.704 # +config-update-from sentinel a3b1a33e0d2dbe70b8de78dba808a1e0a6e6fc5c 192.168.1.202 26381 @ mymaster 192.168.1.202 6380@b@4587:X 16 Apr 06:34:23.704 # +switch-master mymaster 192.168.1.202 6380 192.168.1.202 6381@b@4587:X 16 Apr 06:34:23.704 * +slave slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:34:23.704 * +slave slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:34:28.729 # +sdown slave 192.168.1.202:6380 192.168.1.202 6380 @ mymaster 192.168.1.202 6381@b@4587:X 16 Apr 06:34:28.729 # +sdown slave 192.168.1.202:6379 192.168.1.202 6379 @ mymaster 192.168.1.202 6381

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链表(Linked List)之双向链表

双向链表应用实例 使用带head头的双向链表实现 –水浒英雄排行榜 管理单向链表的缺点分析: 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 单向链表不能自我删除,需要靠辅助节点 ,而双向链表&#xff…

H264 解码耗时分析

在数字基带处理器上代码的最佳放置 美国模拟器件公司 Jose Fridman   在手机等嵌入式系统中,除了处理器执行时间外,最重要的资源就是设备总线和存储器接口。本文将介绍一种在使用指令高速缓存时其带宽消耗的基础上,统计分析高速缓存所采用…

CentOS 7 使用iptables防火墙

# 停止firewalld服务 systemctl stop firewalld systemctl mask firewalld # 安装iptables-services yum install iptables-services Enable the service at boot-time: # 启动iptables服务 systemctl enable iptables # 管理iptables systemctl [stop|start|restart] ip…

Linux命令之useradd和userdel(添加、删除用户)

一、【useradd】:添加用户命令 1.作用useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 3.主…

链表(Linked List)之环形链表

原文地址:传送门 单向环形链表应用场景 Josephu(约瑟夫、约瑟夫环) 问题 Josephu 问题为&#xff1a;设编号为1&#xff0c;2&#xff0c;… n的n个人围坐一圈&#xff0c;约定编号为k&#xff08;1<k<n&#xff09;的人从1开始报数&#xff0c;数到m 的那个人出列&…

springboot 单测加入参数_spring-boot-单元测试参数数

简单案例RunWith(Parameterized.class)public class ParameterTest {// 2.声明变量存放预期值和测试数据private String firstName;private String lastName;//3.声明一个返回值 为Collection的公共静态方法&#xff0c;并使用Parameters进行修饰Parameterized.Parameterspubli…

H.264/AVC 标准中CAVLC 和CABAC 熵编码算法研究

http://www.paper.edu.cn/index.php/default/releasepaper/downPaper/200903-146

python ==》 元组

为何要有元组 &#xff0c;() 可存放多个值 元组不可变 更多的是用来查询t (1,[1,3],sss,(1,2)) #t tuple(1,[1,3],sss,(1,2))print (type(t))元组可以作为字典的keyd{(1,2,3):zcx}print(d,type(d),d[(1,2,3)])索引取值d (1,2,3,4,5)print(d[1])切片goods (iphone,lenove,…

免费SSL证书(支持1.0、1.1、1.2)

由于公司要开发微信小程序&#xff0c;而微信小程序的接口需要https协议的&#xff0c;并且要支持TLS1.0、TLS1.1、TLS1.2。如果仅仅是为了开发小程序&#xff0c;安全等级又不用太高&#xff0c;可以选择免费的SSL证书 在这里选择腾讯云的证书&#xff0c;申请在 https://cons…

viewsource和viewparsed_Network Panel说明

一、chrome Developer Tools&#xff1a;Network Panel从网络面板中可以获取很多有用信息&#xff0c;如详细的时间数据&#xff0c;http请求头响应头&#xff0c;cookies&#xff0c;WebSocket数据。通过分析这些数据&#xff0c;可以知道哪个资源加载耗时最久&#xff0c;谁发…

使用栈来完成一个表达式的结果

原文地址:传送门 使用栈来完成一个表达式的结果 使用栈完成计算 一个表达式的结果 7*2*2-51-53-4 &#xff1f; 32*6-2[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XzPnJzRe-1614845779689)(https://victorfengming.gitee.io/data_algorithm/i…

JM与h264标准中的关键字说明

有些乱&#xff0c;先存着&#xff0c;留着看 如何结合H.264标准看JM代码》这个web文件&#xff0c;大家都应该有了吧。不过&#xff0c;那个web文档是“H.264乐园”群中聊天的内容 1、一个sps后&#xff0c;有若干个pps吗&#xff1f; 这主要又编码器决定&#xff0c;但J…

云计算(cloud computing)十大问答

本文讲的是云计算&#xff08;cloud computing&#xff09;十大问答&#xff0c;【IT168 资讯】云计算这个新名词最近甚嚣尘上&#xff0c;最近周围不少朋友都在谈&#xff0c;有必要写一个关于云计算的科普了。  一般的业界比较喜欢用一些新名词来体现 自己的战略眼光和与对…

3150cdn打印机清零 hl_兄弟HL-3150/3140彩色打印机粉盒清零方法,我们提前了解一下...

原标题&#xff1a;兄弟HL-3150/3140彩色打印机粉盒清零方法&#xff0c;我们提前了解一下对于兄弟品牌的打印机&#xff0c;相信各位经销商朋友都遇到过&#xff0c;更换新的粉盒或者加粉后还会提示墨粉不足、更换碳粉盒、更换硒鼓。这个情况需要在机器上操作清零&#xff01;…

Python 关于bytes类方法对数字转换的误区, Json的重要性

本文起源于一次犯错, 在发觉bytes()里面可以填数字, 转出来的也是bytes类型, 就心急把里面的东西decode出来. 结果为空.搞来搞去以为是命令不熟练事实上错在逻辑.a1 bytes(11, encodingutf-8) print(a1)b1 a1.decode()print(b1)a2 bytes(11) print(a2)b2 a2.decode() print…

前缀中缀后缀表达式的计算求值

原文在这里 表达式 前缀表达式(波兰表达式) 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前举例说明&#xff1a; (34)5-6 对应的前缀表达式就是 - 3 4 5 6 前缀表达式求值 前缀表达式的计算机求值 从右至左扫描表达式&#xff0c;遇到数字时&#xff0c;将数…

psnr 计算

PSNR是“Peak Signal to Noise Ratio”的缩写&#xff0c;峰值信噪比。psnr一般是用于最大值信号和背景噪音之间的一个工程项目。 PSNR计算公式如下&#xff1a; 8bits表示法中&#xff0c;peak的最大值为255&#xff1b;MSE指Mean Square Error&#xff08;均方误差&#xff0…

光源时间_缩短背光源的使用寿命的原因

许多场所都会使用到led这种产品&#xff0c;这种产品经常用于背光的照亮中。但是由于使用led的局限性较大&#xff0c;所以led逐渐被背光源这种产品所代替&#xff0c;常常用于背景的照亮让宣传图可以展现出更好的视觉&#xff0c;这也是许多人选择背光源的原因。那么&#xff…

《结对-贪吃蛇-需求分析》

结对编程&#xff1a;贪吃蛇项目 准备阶段&#xff1a;安装Python、pygame 编写阶段&#xff1a;1. 设置游戏窗口 2. 设置游戏必要功能&#xff1a; a)开始、暂停、退出按钮 b)贪吃蛇身体 c)食物 d)移动贪吃蛇所需按键 3. 完善游戏&#xff1a;添加游戏时间、贪吃蛇失败次数…

视频中场的问题2009-04-03 19:38(一)

视频中场的问题2009-04-03 19:38(一) 场的用途&#xff1a; 让25帧/秒的电视画面帧速率&#xff0c;变为50帧/秒。使观众感受到更加流畅的画面。 (二) 场的由来&#xff1a; 在电视制作的时候&#xff0c;电视扫描一副画面的时间根据当地交流电源的频率来确定。比如中国交流电源…