日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

(进阶篇)Redis6.2.0 集群 哨兵模式_故障转移_03

發布時間:2024/9/27 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (进阶篇)Redis6.2.0 集群 哨兵模式_故障转移_03 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

          • 一、前置準備
            • 啟動redis服務
            • 啟動sentinel服務
            • 查看sentiel啟動日志
          • 二、實戰故障轉移
            • 2.1. 主節點停止
            • 2.2. Sentienl監控日志
            • 2.3. 節點信息監控
            • 2.4. 故障轉移后變化
            • 2.5. 重新啟動
            • 2.6. sentine日志
            • 2.7. 節點信息監控
            • 2.8. 配置文件變化
            • 2.9. 讀寫驗證

一、前置準備
啟動redis服務
# 查看redis進程 ps -ef |grep redis# 啟動redis服務 /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf#查看主從節點信息 /usr/local/redis/bin/redis-cli -a 123456 info replication
啟動sentinel服務

聲明:在啟動3個redis服務的前提下,再依次啟動3個sentinel服務

/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentiel.conf
查看sentiel啟動日志
tail -f /usr/local/redis/log/sentinel.log
二、實戰故障轉移
2.1. 主節點停止
[root@bigdata01 redis-6.2.0]# /usr/local/redis/bin/redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replcation 127.0.0.1:6379> info replication # Replication role:master connected_slaves:2 slave0:ip=xxx.xxx.92.101,port=6379,state=online,offset=3xxx,lag=1 slave1:ip=xxx.xxx.92.102,port=6379,state=online,offset=3xxx,lag=1 master_failover_state:no-failover master_replid:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3xxx second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1391 repl_backlog_histlen:1778 127.0.0.1:6379> SHUTDOWN not connected>
2.2. Sentienl監控日志
mymaster 主節點 xxx.xxx.92.100 6379 被添加主觀下線標記,其他的sentinel每秒一次和xxx.xxx.92.100 6379的通信 # +sdown master mymaster xxx.xxx.92.100 6379 啟動一個新選舉流程,記錄當前選舉的次數 # +new-epoch 1 投票選舉一個sentinel去做故障轉移這件事 # +vote-for-leader a20913bfcbeb3a5d8d58ce1bd372cc40455xxx10 1 客觀下線:當前環境內多個sentinel節點對我們的某一個服務器標記為主觀下線,滿足quorum 仲裁的選項值之后,標記為客觀下線 # +odown master mymaster xxx.xxx.92.100 6379 #quorum 3/2 # Next failover delay: I will not start a failover before Sun Jul 4 22:39:56 2021 # +config-update-from sentinel a20913bfcbeb3a5d8d58ce1bd372cc40455xxx10 xxx.xxx.92.1026379 # +switch-master mymaster xxx.xxx.92.100 6379 xxx.xxx.92.101 6379 * +slave slave xxx.xxx.92.102:6379 xxx.xxx.92.102 6379 @ mymaster xxx.xxx.92.101 6379 * +slave slave xxx.xxx.92.100:6379 xxx.xxx.92.100 6379 @ mymaster xxx.xxx.92.101 6379 # +sdown slave xxx.xxx.92.100:6379 xxx.xxx.92.100 6379 @ mymaster xxx.xxx.92.101 6379
2.3. 節點信息監控

查看故障轉移后的節點信息
01節點信息

[root@bigdata02 ~]# /usr/local/redis/bin/redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.100 master_port:6379 master_link_status:up master_last_io_seconds_ago:6 master_sync_in_progress:0 slave_repl_offset:3196 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3196 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1391 repl_backlog_histlen:1806# 故障轉移后 ------------------------------------------------------------------- 127.0.0.1:6379> info replication # Replication role:master connected_slaves:1 slave0:ip=xxx.xxx.92.102,port=6379,state=online,offset=380674,lag=1 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_repl_offset:380674 second_repl_offset:156702 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1391 repl_backlog_histlen:379284 127.0.0.1:6379>

02節點信息

[root@bigdata03 ~]# /usr/local/redis/bin/redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.100 master_port:6379 master_link_status:up master_last_io_seconds_ago:4 master_sync_in_progress:0 slave_repl_offset:3210 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3210 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1433 repl_backlog_histlen:1778# 故障轉移后 ------------------------------------------------------------------- 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.101 master_port:6379 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_repl_offset:381546 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_repl_offset:381546 second_repl_offset:156702 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1433 repl_backlog_histlen:380114 127.0.0.1:6379>
2.4. 故障轉移后變化

01節點由slave節點變成了master節點,02仍然后slave節點

2.5. 重新啟動

故障的 100節點(原主節點)重新啟動

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
2.6. sentine日志
* +convert-to-slave slave xxx.xxx.92.100:6379 xxx.xxx.92.100 6379 @ mymaster xxx.xxx.92.101 6379
2.7. 節點信息監控
[root@bigdata01 redis-6.2.0]# /usr/local/redis/bin/redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.101 master_port:6379 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_repl_offset:528510 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:0000000000000000000000000000000000000000 master_repl_offset:528510 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:518136 repl_backlog_histlen:10375 127.0.0.1:6379>

01節點信息

[root@bigdata02 ~]# /usr/local/redis/bin/redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.100 master_port:6379 master_link_status:up master_last_io_seconds_ago:6 master_sync_in_progress:0 slave_repl_offset:3196 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3196 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1391 repl_backlog_histlen:1806# 故障轉移后 ------------------------------------------------------------------- 127.0.0.1:6379> info replication # Replication role:master connected_slaves:1 slave0:ip=xxx.xxx.92.102,port=6379,state=online,offset=380674,lag=1 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_repl_offset:380674 second_repl_offset:156702 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1391 repl_backlog_histlen:379284#原主節點重新啟動后 ------------------------------------------------------------------- 127.0.0.1:6379> info replication # Replication role:master connected_slaves:2 slave0:ip=xxx.xxx.92.102,port=6379,state=online,offset=537589,lag=1 slave1:ip=xxx.xxx.92.100,port=6379,state=online,offset=537732,lag=0 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_repl_offset:537875 second_repl_offset:156702 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1391 repl_backlog_histlen:536485 127.0.0.1:6379>

02節點信息

[root@bigdata03 ~]# /usr/local/redis/bin/redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.100 master_port:6379 master_link_status:up master_last_io_seconds_ago:4 master_sync_in_progress:0 slave_repl_offset:3210 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3210 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1433 repl_backlog_histlen:1778# 故障轉移后 ------------------------------------------------------------------- 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.101 master_port:6379 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_repl_offset:381546 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_repl_offset:381546 second_repl_offset:156702 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1433 repl_backlog_histlen:380114#原主節點重新啟動后 ------------------------------------------------------------------- 127.0.0.1:6379> info replication # Replication role:slave master_host:xxx.xxx.92.101 master_port:6379 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_repl_offset:556005 slave_priority:100 slave_read_only:1 connected_slaves:0 master_failover_state:no-failover master_replid:424069affa171e62af3e2c65a2ee1cb27ecb6c2f master_replid2:4f07bacde969998356194ad698c6dd7e2f6f7da2 master_repl_offset:556005 second_repl_offset:156702 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1433 repl_backlog_histlen:554573 127.0.0.1:6379>
2.8. 配置文件變化

原100主節點

# 放行訪問IP的限制 多個用空格隔開 # 0.0.0.0 代表無限制 bind 0.0.0.0# 后臺啟動開啟 daemonize yes# 日志存儲目錄以及日志文件名 logfile "/usr/local/redis/log/redis.log"# rdb數據文件名 dbfilename "dump.rdb"# aof模式開啟 appendonly no# aof數據文件名 appendfilename "appendonly.aof"#rdb數據文件和aof數據文件存儲目錄 dir "/usr/local/redis/data"# 設置密碼 requirepass 123456# 從節點訪問主節點的密碼(必須和requirepass 一致) masterauth "123456"#從節點只讀模式 replica-read-only yes # Generated by CONFIG REWRITE pidfile "/var/run/redis.pid" save 3600 1 save 300 100 save 60 10000 user default on #8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 ~* &* +@all replicaof xxx.xxx.92.101 6379

變化:最下面添加了主節點信息

原01節點

# 放行訪問IP的限制 多個用空格隔開 # 0.0.0.0 代表無限制 bind 0.0.0.0# 后臺啟動開啟 daemonize yes# 日志存儲目錄以及日志文件名 logfile "/usr/local/redis/log/redis.log"# rdb數據文件名 dbfilename "dump.rdb"# aof模式開啟 appendonly no# aof數據文件名 appendfilename "appendonly.aof"#rdb數據文件和aof數據文件存儲目錄 dir "/usr/local/redis/data"# 設置密碼 requirepass 123456# 從節點訪問主節點的密碼(必須和requirepass 一致) masterauth "123456"#從節點只讀模式 replica-read-only yes# 從節點從屬于那個主節點# Generated by CONFIG REWRITE pidfile "/var/run/redis.pid" save 3600 1 save 300 100 save 60 10000 user default on #8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 ~* &* +@all

變化:原來配置的主節點信息沒了

02節點信息

# 放行訪問IP的限制 多個用空格隔開 # 0.0.0.0 代表無限制 bind 0.0.0.0# 后臺啟動開啟 daemonize yes# 日志存儲目錄以及日志文件名 logfile "/usr/local/redis/log/redis.log"# rdb數據文件名 dbfilename "dump.rdb"# aof模式開啟 appendonly no# aof數據文件名 appendfilename "appendonly.aof"#rdb數據文件和aof數據文件存儲目錄 dir "/usr/local/redis/data"# 設置密碼 requirepass 123456# 從節點訪問主節點的密碼(必須和requirepass 一致) masterauth "123456"#從節點只讀模式 replica-read-only yes# 從節點從屬于那個主節點 replicaof xxx.xxx.92.101 6379 # Generated by CONFIG REWRITE pidfile "/var/run/redis.pid" save 3600 1 save 300 100 save 60 10000 user default on #8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 ~* &* +@all
2.9. 讀寫驗證
# 登陸redis客戶端 /usr/local/redis/bin/redis-cli --user default --pass 123456 #故障轉移后的100機器現在為slave節點,可讀不可寫 [root@bigdata01 redis-6.2.0]# /usr/local/redis/bin/redis-cli --user default --pass 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> set name lisi (error) READONLY You can't write against a read only replica. 127.0.0.1:6379> #故障轉移后的101機器現在為master節點,可以讀寫 [root@bigdata02 ~]# /usr/local/redis/bin/redis-cli --user default --pass 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> set name lisi OK 127.0.0.1:6379> get name "lisi" 127.0.0.1:6379> #故障轉移后的102機器現在為slave節點,可讀不可寫 [root@bigdata03 ~]# /usr/local/redis/bin/redis-cli --user default --pass 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> set name wangwu (error) READONLY You can't write against a read only replica. 127.0.0.1:6379> get name "lisi" 127.0.0.1:6379>

總結

以上是生活随笔為你收集整理的(进阶篇)Redis6.2.0 集群 哨兵模式_故障转移_03的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。