本文咱們就來介紹redis的哨兵集群怎么搭建。這些安裝教程是一系列的。
本文由凱哥JAVA,《Redis系列》教程中環境搭建相關文章。歡迎大家一起學習。
一:集群結構
這里我們搭建一個三節點形成的sentinel集群,來監控之前的Redis主從集群。添加sentinel監控后,一主兩從集群的架構圖如下圖:
三個sentinel實例信息如下:
節點IPPORTs1192.168.150.10127001s2192.168.150.10127002s3192.168.150.10127003
二:準備實例和配置
要在同一臺虛擬機上開啟3個實例,必須準備三份不同的配置文件和目錄,配置文件所在的目錄也就是工作目錄。
我們創建三個文件夾,名字分別交s1、s2、s3:
# 進入/tmp目錄
cd /tmp
# 創建目錄
mkdir s1 s2 s3
如下圖:
然后我們在s1目錄創建一個sentinel.conf文件,添加下面內容:
port 27001
sentinel announce-ip 192..168.1.11
sentinel monitor mymaster 192.168.1.11 7001 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
dir "/tmp/s1"
命令說明:
port 27001:是當前sentinel實例的端口;
senntinel monitor mymaster 192.168.1.11 7001 2:指定主節點信息
其中
mymaster:主節點名稱。自定義的,任意寫
192.168.1.11 7001:主節點的ip和端口
2:選舉master時候的quorum值
需要注意的是:將ip修改成你們自己的IP
然后將s1/senntinel.conf文件拷貝到s2、s3兩個目錄中(在/tmp目錄執行下面命令):
# 方式一:逐個拷貝
cp s1/sentinel.conf s2
cp s1/sentinel.conf s3
# 方式二:管道組合命令,一鍵拷貝
echo s2 s3 | xargs -t -n 1 cp s1/sentinel.conf
修改s2、s3兩個文件夾內的配置文件,將斷開分別修改為27002、27003。修改命令如下:
sed -i -e 's/27001/27002/g' -e 's/s1/s2/g' s2/sentinel.conf
sed -i -e 's/27001/27003/g' -e 's/s1/s3/g' s3/sentinel.conf
三:啟動
為了方便查看日志,我們可以打開3個ssh的窗口,分別啟動3個Redis sentinel實例,啟動命令如下:
# 第1個
redis-sentinel s1/sentinel.conf
# 第2個
redis-sentinel s2/sentinel.conf
# 第3個
redis-sentinel s3/sentinel.conf
啟動后,如下圖:
四:測試
嘗試讓master節點7001宕機,查看sentinel的日志。如下圖:
查看7003的日志。如下圖:
查看7002的日志。如下圖: