redis 哨兵模式
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
服务器列表:
1. 启动3个redis服务并连接
启动:
[root@ceph178 myredis]# redis-server redis6379conf
[root@ceph178 myredis]# redis-server redis6380.conf
[root@ceph178 myredis]# redis-server redis6382.conf
连接:
[root@ceph178 myredis]# redis-cli -p 6379
[root@ceph178 myredis]# redis-cli -p 6380
[root@ceph178 myredis]# redis-cli -p 6382
2. 配置哨兵
2.1 自定义的/myredis 目录下新建 sentinel.conf文件
vim sentinel.conf
2.2 配置哨兵,填写一以下容
sentinel monitor mymaster 0.0.0.0 6379 1
3.执行启动
[root@do8888 myredis]# redis-sentinel /myredis/sentinel.conf
#当主机挂掉,重新选举中产生新的主机
(大概10秒左右可以看到哨兵窗口日志,切换了新的主机)
哪个从机会被选举为主机呢?根据优先级级别:slave-priority
原主机重启后会变为主机
4 .关掉主机做测试
127.0.0.1:6379> SHUTDOWN
not connected>
哨兵窗口日志:
14273:X 16 Jun 2021 22:25:00.584 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
14273:X 16 Jun 2021 22:25:00.630 # Sentinel ID is 229c5de85aadda9c8855a8dee54f047e21717952
14273:X 16 Jun 2021 22:25:00.630 # +monitor master mymaster 0.0.0.0 6379 quorum 1
14273:X 16 Jun 2021 22:25:00.631 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 0.0.0