您的位置:首页 > 数据库 > Redis

Redis-3.2.1主从故障测试实例 及出现sdown后没有出现try-failover 或者出现 failover-abort-not-elected 解决方法

2016-08-22 23:52 1206 查看
Redis-3.2.1主从故障测试实例 配置文件如下:

Rdis 实例1配置文件 r1.conf :(默认为master)

port 6379

masterauth mypwd

requirepass mypwd

protected-mode yes

bind 192.168.98.136

Rdis 实例2配置文件 r2.conf :

port 6380

masterauth mypwd

requirepass mypwd

protected-mode yes

bind 192.168.98.136

slaveof 192.168.98.136 6379

Rdis 实例3配置文件 r3.conf :

port 6381

masterauth mypwd

requirepass mypwd

protected-mode yes

bind 192.168.98.136

slaveof 192.168.98136 6379

Rdis sentinel 哨兵1配置文件 s1.conf;

port 26379

sentinel monitor mymaster 192.168.98.136 6379 1

sentinel auth-pass mymaster mypwd

sentinel down-after-milliseconds mymaster 15000

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 80000

bind 192.168.98.136

protected-mode yes

Rdis sentinel 哨兵1配置文件 s1.conf;

port 26380

sentinel monitor mymaster 192.168.98.136 6379 1

sentinel auth-pass mymaster mypwd

sentinel down-after-milliseconds mymaster 15000

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 80000

bind 192.168.92.136

protected-mode yes

首次依次启动 Rdis实例r1.conf  r2.conf r3.conf  和sentienl实例s1.conf s2.conf

然后停掉master r1, 测试宕机后的主从切换如下:

yzj@ubuntu:~$ redis-sentinel s1.conf

9127:X 22 Aug 23:27:50.999 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.

9127:X 22 Aug 23:27:50.999 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.

9127:X 22 Aug 23:27:50.999 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.

                _._                                                  

           _.-``__ ''-._                                             

      _.-``    `.  `_.  ''-._           Redis 3.2.1 (00000000/0) 64 bit

  .-`` .-```.  ```\/    _.,_ ''-._                                   

 (    '      ,       .-`  | `,    )     Running in sentinel mode

 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379

 |    `-._   `._    /     _.-'    |     PID: 9127

  `-._    `-._  `-./  _.-'    _.-'                                   

 |`-._`-._    `-.__.-'    _.-'_.-'|                                  

 |    `-._`-._        _.-'_.-'    |           http://redis.io        

  `-._    `-._`-.__.-'_.-'    _.-'                                   

 |`-._`-._    `-.__.-'    _.-'_.-'|                                  

 |    `-._`-._        _.-'_.-'    |                                  

  `-._    `-._`-.__.-'_.-'    _.-'                                   

      `-._    `-.__.-'    _.-'                                       

          `-._        _.-'                                           

              `-.__.-'                                               

9127:X 22 Aug 23:27:51.000 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

9127:X 22 Aug 23:27:51.003 # Sentinel ID is 26f43074868559a81927040f04d8afd6be4d7d2b

9127:X 22 Aug 23:27:51.003 # +monitor master mymaster 192.168.92.136 6379 quorum 1

9127:X 22 Aug 23:27:51.004 * +slave slave 192.168.98.136:6380 192.168.92.136 6380 @ mymaster 192.168.98.136 6379

9127:X 22 Aug 23:27:51.005 * +slave slave 192.168.98.136:6381 192.168.92.136 6381 @ mymaster 192.168.98.136 6379

9127:X 22 Aug 23:27:59.017 * +sentinel sentinel 73d21ad0584a4ce628c9aa5cc0653eda169b9080 192.168.98.136 26380 @ mymaster 192.168.98.136 6379

9127:X 22 Aug 23:28:18.366 # +new-epoch 1

9127:X 22 Aug 23:28:18.367 # +vote-for-leader 73d21ad0584a4ce628c9aa5cc0653eda169b9080 1

9127:X 22 Aug 23:28:18.417 # +sdown master mymaster 192.168.98.136 6379

9127:X 22 Aug 23:28:18.417 # +odown master mymaster 192.168.98.136 6379 #quorum 1/1

9127:X 22 Aug 23:28:18.417 # Next failover delay: I will not start a failover before Mon Aug 22 23:30:58 2016

9127:X 22 Aug 23:28:19.465 # +config-update-from sentinel 73d21ad0584a4ce628c9aa5cc0653eda169b9080 192.168.98.136 26380 @ mymaster 192.168.98.136 6379

9127:X 22 Aug 23:28:19.465 # +switch-master mymaster 192.168.92.136 6379 192.168.92.136 6381

9127:X 22 Aug 23:28:19.465 * +slave slave 192.168.92.136:6380 192.168.98.136 6380 @ mymaster 192.168.98.136 6381

9127:X 22 Aug 23:28:19.465 * +slave slave 192.168.92.136:6379 192.168.98.136 6379 @ mymaster 192.168.98.136 6381

如果停掉master 后,sentinel 显示足够数量的 sdown 后,没有出现odown或try-failover,则检查密码等配置是否正确

如果停掉master后,试图切换的时候出现 failover-abort-not-elected

1)如果redis实例没有配置

protected-mode yes

bind 192.168.98.136

则在sentinel 配置文件加上

protected-mode no

即可

2)如果redis实例有配置

protected-mode yes

bind 192.168.98.136

则在sentinel 配置文件加上

protected-mode yes

bind 192.168.98.136

即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐