在CentOS上配置Redis哨兵模式需要以下幾個步驟:
首先,確保你已經在CentOS上安裝了Redis。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install epel-release
sudo yum install redis
編輯Redis主節點的配置文件(通常位于/etc/redis.conf
),確保以下配置項被正確設置:
port 6379
requirepass your_master_password
將your_master_password
替換為你想要設置的密碼。
編輯每個從節點的配置文件(通常也位于/etc/redis.conf
),確保以下配置項被正確設置:
port 6380 # 每個從節點的端口不同
slaveof your_master_ip 6379
masterauth your_master_password
將your_master_ip
替換為主節點的IP地址,your_master_password
替換為主節點的密碼。
啟動主節點和從節點的Redis服務:
sudo systemctl start redis
sudo systemctl enable redis
對于從節點,可以使用以下命令啟動:
sudo systemctl start redis@6380
sudo systemctl enable redis@6380
創建一個新的配置文件用于哨兵(例如/etc/redis-sentinel.conf
),并添加以下內容:
port 26379
sentinel monitor mymaster your_master_ip 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster your_master_password
mymaster
是哨兵對主節點的稱呼。your_master_ip
是主節點的IP地址。6379
是主節點的端口。2
表示至少需要兩個哨兵同意主節點失效才會進行故障轉移。down-after-milliseconds
是哨兵認為主節點失效的時間閾值。failover-timeout
是故障轉移的超時時間。parallel-syncs
是故障轉移后同時同步的從節點數量。auth-pass
是主節點的密碼。啟動哨兵服務:
redis-sentinel /etc/redis-sentinel.conf
你可以將這個命令添加到系統的啟動腳本中,以便系統啟動時自動運行哨兵服務。
你可以通過以下命令檢查哨兵的狀態:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
這個命令會返回主節點的IP地址和端口。
為了測試故障轉移,你可以手動停止主節點的Redis服務:
sudo systemctl stop redis
然后觀察哨兵是否能夠檢測到主節點的失效并進行故障轉移。你可以再次使用redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
命令來查看新的主節點地址。
通過以上步驟,你應該能夠在CentOS上成功配置Redis的哨兵模式。