天天看點

Redis-主從複制_哨兵機制

一、redis搭建主從複制

​ 目的:

資料備份

,但是無法解決

主節點的自動故障轉移

  • 準備四台機器,一台主機,三台從機【為哨兵機制的搭建做準備】
  • 主節點、從節點、另一個從節點配置redis.conf
# 1.從節點設定:
slaveof   masterIp  masterPort  
		slaveof 192.168.75.110 7000
# 2.更改守護程序【背景】  
daemonize  yes

# 3.更改遠端通路權限,每一台機器都要配置   
bind 0.0.0.0

# 4.更改端口是為了辨識度,不進行更改也是可以的
           

示例:

# 1.主機點 master
 	port 7000
  	bind 0.0.0.0
  	
#   salve1
    port 7002
    bind 0.0.0.0
    slaveof 192.168.75.240 7000
    
#   salve2
    port 7003
    bind 0.0.0.0
    slaveof 192.168.75.240 7000
    
#   salve3
    port 7004
    bind 0.0.0.0
    slaveof 192.168.75.240 7000
           

實操:

# 從源碼中copy redis的配置檔案
cp /usr/redis/redis-4.0.10/redis.conf /usr/redis/
# 修改配置檔案
vim /usr/redis/redis.conf
           
Redis-主從複制_哨兵機制

找到配置檔案中的slave of 位置 底線指令模式下輸入 /slave 進行搜尋

/slave
           
Redis-主從複制_哨兵機制

修改主節點ip 和 端口

Redis-主從複制_哨兵機制

其他兩個節點做相同的操作。

注意:主節點不需要指定slave of

依次開啟redis服務,并加載配置檔案

# 進入指定目錄
cd /usr/redis/bin
# 開啟服務并加載配置檔案
./redis-server ../redis.conf
           
Redis-主從複制_哨兵機制

通路指定的ip的redis服務:

#  主機添加一個資訊
./redis-cli -h 192.168.75.240 -p  7000

# 轉到從機上檢視主從配置是否生效
           
Redis-主從複制_哨兵機制

在用戶端視窗中也可以輸入指令檢視主從複制資訊

info replication
           
Redis-主從複制_哨兵機制

二、哨兵機制

​ 哨兵機制 sentinel,是redis的一個高可用性解決方案,有一個或者多個Sentinel執行個體組成的Sentinel系統可以監視多個主伺服器,以及這些主伺服器屬下的所有從伺服器,并在被監視的主伺服器進入下線狀态時,自動将下線的主伺服器屬下的從伺服器更新為新的主伺服器。簡單地說哨兵機制就是帶有自動故障轉移功能的主從架構。

搭建哨兵架構【

在主從複制的基礎上

# 1.在主節點上建立哨兵機制
- 去redis解壓源碼中copysentinel.conf檔案到Master對應redis.conf同目錄下
cp /usr/redis/redis-4.0.10/sentinel.conf  /usr/redis/

# 2.配置哨兵,在sentinel.conf中寫入一下内容
- sentinel monitor 被監控資料庫名字【自己命名】 ip  port 1
vim /usr/redis/sentinel.conf
sentinel monitor mymaster  192.168.75.240 7000 1
sentinel monitor sentinel1 192.168.75.230 7002 2
sentinel monitor sentinel2 192.168.75.220 7003 3
sentinel monitor sentinel3 192.168.75.225 7004 4
           
Redis-主從複制_哨兵機制
# 3.啟動哨兵模式進行測試 [redis-sentinel ]
cd /usr/redis/bin/

./redis-sentinel ../sentinel.conf
# 預設心跳時間15s
           

測試哨兵

  1. 測試主從複制是否有效
    Redis-主從複制_哨兵機制
  2. 殺死主節點redis程序,檢視日志選舉過程
    Redis-主從複制_哨兵機制
  3. 7004被選舉成為新的主節點 ,7000被替換成從節點
    Redis-主從複制_哨兵機制
    Redis-主從複制_哨兵機制

至此,哨兵配置完成。

注意:
  1. 哨兵的配置是基于主從複制之上的,首先要保證的就是主從複制配置成功
  2. 哨兵(從機)的機器數量一定是單數,因為在主機宕掉之後哨兵要進行選舉,票多者被重新選為主機
  3. 哨兵的選舉是不可逆的。宕掉的主機重新開機之後也會永遠變為從機

哨兵機制無法解決:

​ 單節點的

并發壓力

問題

​ 單節點的

實體上限

問題

叢集的搭建很好地解決了這個問題。

繼續閱讀