linux下redis的哨兵模式


  一、參考資料

  linux下redis的主從復制:https://www.cnblogs.com/javasl/p/12099046.html

  哨兵模式是在主從復制的基礎上增加故障轉移功能,簡言之,當主節點宕機后,自動在從節點中選一個做主節點,無需人為干預,實現高可用。

  二、配置步驟

  【主節點配置】無任何額外配置

#bind 127.0.0.1
protected-mode no
daemonize yes

  【從節點配置】無任何額外配置

#bind 127.0.0.1
protected-mode no
daemonize yes
replicaof 192.168.43.121 6379

  【哨兵節點配置】增加sentinel配置

  1)安裝哨兵節點

  哨兵節點安裝在121服務器上,端口為6380,本機已經安裝了redis-5.0.4,直接復制目錄,修改配置即可。

[root@localhost myroom]# cp -r redis-5.0.4 redis-sentinel

  2)修改配置文件

port 6380
daemonize yes
protected-mode no
#bind 127.0.0.1
pidfile /var/run/redis_6380.pid
#指定別名 主節點ip 端口 哨兵個數(有幾個哨兵監控到主節點宕機,執行轉移)
sentinel monitor mymaster 192.168.43.121 6379 1
#5秒沒有收到主節點的心跳,哨兵人為主節點宕機了
sentinel down-after-milliseconds mymaster 5000

  三、測試

  1)先啟動redis的主節點和從節點

  2)啟動哨兵節點

[root@localhost bin]# ./redis-server redis.conf --sentinel

  3)依然是主節點可以讀寫、從節點只能讀

  4)關掉主節點,其中一個從節點也可以讀寫(升為主節點),另一個從節點只能讀

  5)再關掉這個可以讀寫的節點,就剩下一個從節點了,它依然升為主節點,可以讀寫

  6)啟動最初的那個主節點(121節點),它退為了從節點

  7)上面的任何操作都無需重啟節點

  四、備注

  1)主節點變為從節點后,redis會自動回寫配置文件,如下:

  

  2)哨兵節點第一次運行后,會自動回寫配置文件,如下:

  

  3)多哨兵配置與單個哨兵配置一樣,直接復制上面哨兵的配置文件即可

  4)生產中應該使用多哨兵,且哨兵的數量為奇數(因為半數+1的哨兵認為選主節點才會選擇,1個哨兵與兩個哨兵,3個哨兵與4個哨兵,5個哨兵與6個哨兵...其實作用是一樣的,使用偶數會浪費一個節點)

  5)使用兩個哨兵節點,假如宕掉一個哨兵,則哨兵模式失效(2的半數+1還是2,不會選擇主節點,宕掉半數哨兵節點,則哨兵模式失效)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM