py系统学习笔记:第六阶段:数据库编程基础:第四章:Redis的使用:133.Redis集群_哨兵监控故障转移监控

发布于:2022-12-30 ⋅ 阅读:(493) ⋅ 点赞:(0)

  • 目录

    概述哨兵的监控故障转移功能

    故障转移的演示

    查看原始的哨兵节点与主节点(6379)的配置信息

    使用kill命令杀死主节点

    查看转移后的哨兵节点

    重启主节点(6379)并查看转移后的配置文件信息

    注意点

    查看原始的哨兵节点与主节点(6379)的配置信息

    在src目录下利用命令进入redis程序中的哨兵节点并查看配置信息

    查看配置信息

    在src目录下利用命令进入redis程序中的主节点(6379)节点

    查看配置信息

    使用kill命令杀死主节点

    查看6379的后台进程号码

    利用kill命令进行杀死

    查看转移后的哨兵节点

    进入哨兵节点

    查看配置文件内容

    重启主节点(6379)并查看转移后的配置文件信息

    重启主节点(在src目录下)

    再次进入6379节点(在src目录下)

    查询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

网站公告

今日签到

点亮在社区的每一天
去签到