目录
在src目录下利用命令进入redis程序中的哨兵节点并查看配置信息
在src目录下利用命令进入redis程序中的主节点(6379)节点
概述哨兵的监控故障转移功能
- 当主节点发生故障时,哨兵将行使监控功能中的自动故障转移功能:判定master故障、投票选择下任master(哨兵数量一般为奇数:保障投票结果的可行性)。
故障转移的演示
查看原始的哨兵节点与主节点(6379)的配置信息
使用kill命令杀死主节点
查看转移后的哨兵节点
重启主节点(6379)并查看转移后的配置文件信息
注意点
- 需要保障哨兵节点在执行故障转移功能时的:三个哨兵节点都能运行,三个节点可以正常进入,且在杀死进程的过程中需要杀死根目录,即不带——>的
查看原始的哨兵节点与主节点(6379)的配置信息
在src目录下利用命令进入redis程序中的哨兵节点并查看配置信息
redis-cli -p 26379
查看配置信息
info sentinel
- 查看效果:
- # Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3 - address=127.0.0.1:6379 ——由此看出主节点为6379
在src目录下利用命令进入redis程序中的主节点(6379)节点
redis-cli -p 6379
查看配置信息
info replication
- 查看效果:
- # Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6381,state=online,offset=47106210,lag=1
slave1:ip=127.0.0.1,port=6380,state=online,offset=47106210,lag=1
master_failover_state:no-failover
master_replid:eb784a1459f0f179dbf20f68717484ee7bdd395a
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:47106210
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:46057635
repl_backlog_histlen:1048576 - role:master ——表示为主节点
- connected_slaves:2
slave0:ip=127.0.0.1,port=6381,state=online,offset=47106210,lag=1
slave1:ip=127.0.0.1,port=6380,state=online,offset=47106210,lag=1 - 表示为主节点,并有两个从节点,分别是6380与6381
使用kill命令杀死主节点
查看6379的后台进程号码
lsof -i:6379
- 显示效果:
- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 10879 root 6u IPv4 856142 0t0 TCP *:6379 (LISTEN)
redis-ser 10879 root 7u IPv6 856143 0t0 TCP *:6379 (LISTEN)
redis-ser 10879 root 9u IPv4 856161 0t0 TCP localhost:6379->localhost:fairview (ESTABLISHED)
redis-ser 10879 root 10u IPv4 856162 0t0 TCP localhost:6379->localhost:38204 (ESTABLISHED)
redis-ser 10879 root 11u IPv4 856212 0t0 TCP localhost:6379->localhost:38266 (ESTABLISHED)
redis-ser 10879 root 12u IPv4 856213 0t0 TCP localhost:6379->localhost:38268 (ESTABLISHED)
redis-ser 10879 root 13u IPv4 856283 0t0 TCP localhost:6379->localhost:38394 (ESTABLISHED)
redis-ser 10879 root 14u IPv4 856284 0t0 TCP localhost:6379->localhost:38396 (ESTABLISHED)
redis-sen 10885 root 8u IPv4 856153 0t0 TCP localhost:fairview->localhost:6379 (ESTABLISHED)
redis-sen 10885 root 9u IPv4 856154 0t0 TCP localhost:38204->localhost:6379 (ESTABLISHED)
redis-sen 10891 root 8u IPv4 856196 0t0 TCP localhost:38266->localhost:6379 (ESTABLISHED)
redis-sen 10891 root 9u IPv4 856197 0t0 TCP localhost:38268->localhost:6379 (ESTABLISHED)
redis-sen 10897 root 8u IPv4 856275 0t0 TCP localhost:38394->localhost:6379 (ESTABLISHED)
redis-sen 10897 root 9u IPv4 856276 0t0 TCP localhost:38396->localhost:6379 (ESTABLISHED) - 由pid看出主节点的后台进程号为10879(注意:与6379的有很多,看0t0 TCP *:6379 (LISTEN)此处的pid好进行杀死)
利用kill命令进行杀死
kill -9 10879
查看转移后的哨兵节点
进入哨兵节点
redis-cli -p 26379
查看配置文件内容
info sentinel
- 显示效果:
- # Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=127.0.0.1:6381,slaves=2,sentinels=3 - address=127.0.0.1:6381 ——表示主节点已经从6379转变成了6381
重启主节点(6379)并查看转移后的配置文件信息
重启主节点(在src目录下)
redis-server ../redis6379.conf
再次进入6379节点(在src目录下)
redis-cli
查询6379节点配置信息
info replication
- 显示效果:
- # Replication
role:slave
master_host:127.0.0.1
master_port:6381
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_read_repl_offset:97672
slave_repl_offset:97672
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:eb71c9e9243e31deacc6dbf646e128b8a24a07ce
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:97672
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:43358
repl_backlog_histlen:54315