Redis主從複製機制|主從關係查看|主從關係設定|主從關係測試|哨兵模式得配置及查看

Redis主從複製機制

1)性能優化:主服務器專注於寫操作,可以用更適合寫入數據的模式工作;同樣,從服務器專注於讀操作,可以用更適合讀取數據的模式工作。
2)強化數據安全,避免單點故障:由於數據同步機制的存在,各個服務器之間數據保持一致,所以其中某個服務器宕機不會導致數據丟失或無法訪問。從這個角度說參與主從複製的Redis服務器構成了一個集羣。
在這裏插入圖片描述

模擬搭建

Redis集羣在運行時使用的是同一個可執行文件,只是對應的配置文件不同。
在這裏插入圖片描述
每個配置文件中相同的參數是:

daemonize yes
dir /usr/local/cluster-redis

在這裏插入圖片描述

詳細操作

  1. 創建/usr/local/cluster-redis目錄
  2. 把原始未經修改的redis.conf複製到/usr/local/cluster-redis目錄
  3. 把/usr/local/cluster-redis目錄下的redis.conf複製爲redis6000.conf
  4. 按照既定計劃修改redis6000.conf中的相關配置項
  5. 複製redis6000.conf爲redis7000.conf並修改redis7000.conf中的相關配置項
  6. 複製redis6000.conf爲redis8000.conf並修改redis8000.conf中的相關配置項
  7. 分別開啓三個窗口啓動Redis集羣
/usr/local/redis/bin/redis-server /usr/local/cluster-redis/redis6000.conf
/usr/local/redis/bin/redis-server /usr/local/cluster-redis/redis7000.conf
/usr/local/redis/bin/redis-server /usr/local/cluster-redis/redis8000.conf

// 使用redis-cli停止指定服務器的命令格式如下:
/usr/local/redis/bin/redis-cli -h IP地址 -p 端口號 shutdown

在這裏插入圖片描述

在這裏插入圖片描述

主從關係

  1. 查看主從關係:剛剛啓動的集羣服務器中每一個節點服務器都認爲自己是主服務器。需要建立主從關係。
info replication

在這裏插入圖片描述
2. 設定主從關係:在從機上指定主機位置即可

SLAVEOF 127.0.0.1 6000

在這裏插入圖片描述

  1. 取消主從關係:在從機上執行命令
SLAVEOF NO ONE

在這裏插入圖片描述

測試

  1. 在主機寫入數據,在從機查看:數據能同步

在這裏插入圖片描述
2. 在從機寫入數據報錯。配置文件中的依據是:slave-read-only yes:從機不能寫入數據

在這裏插入圖片描述

  1. 主機執行SHUTDOWN看從機狀態:主機宕機,從機master不變,狀態爲down

在這裏插入圖片描述
4. 主機恢復啓動,看從機狀態:從機能夠知曉主機啓動且主機也知道從機狀態

在這裏插入圖片描述

  1. 從機SHUTDOWN,此時主機寫入數據,從機恢復啓動查看狀態。重新設定主從關係後看新寫入的數據是否同步。:啓動後得第一時間從機爲master,需要重新設置主從關係,設置完成後數據將得到同步
    在這裏插入圖片描述

哨兵模式

1)通過哨兵服務器監控master/slave實現主從複製集羣的自動管理。
2)sentinel通過不斷詢問slave和master,而master和slave反饋,來判斷節點是否存活
3)主觀下線:1臺哨兵檢測到某節點服務器下線。
4)客觀下線:認爲某個節點服務器下線的哨兵服務器達到指定數量。這個數量後面在哨兵的啓動配置文件中指定。
5)哨兵模式可以自動得選舉master,減少了手動設置主從關係

在這裏插入圖片描述

哨兵配置方式

在這裏插入圖片描述

啓動哨兵

/usr/local/redis/bin/redis-server /usr/local/cluster-redis/sentinel.conf --sentinel


+sdown master mymaster 127.0.0.1 6379 【主觀下線】
+odown master mymaster 127.0.0.1 6379 #quorum 1/1【客觀下線】
……
+vote-for-leader 17818eb9240c8a625d2c8a13ae9d99ae3a70f9d2 1【選舉leader】
……
+failover-state-send-slaveof-noone slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379【把一個從機設置爲主機】
​
-------------掛掉的主機又重新啓動---------------------
-sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381【離開主觀下線狀態】
+convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381【轉換爲從機】

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章