redis高可用環境搭建(主從+哨兵)
redis叢集環境搭建
1.redis安裝
1 首先上官網下載Redis 壓縮包,地址:http://redis.io/download 下載穩定版即可
2 在下載的壓縮包目錄下解壓壓縮包
tar -xzf redis-4.0.11.tar.gz
解壓成功後會顯示如下圖
3 進入redis目錄執行 make 編譯命令
4 編譯成功後進入src資料夾,執行make install進行redis安裝
5 為了方便管理及避免操作失誤,將redis檔案中的conf配置檔案和常用命令移動到同一檔案中。
建立bin和etc資料夾
mkdir bin
mkdir etc
複製檔案
cp redis.conf etc
cd src
cp redis-server redis-cli ../bin
2.redis叢集配置
主從節點的配置修改
修改各節點redis.conf的幾項配置:
1.
bind配置了什麼ip,別人就得訪問bind裡面配置的ip才訪問到redis服務,如果不是本機的ip , redis啟動會報錯
bind 0.0.0.0等價於 不配置 bind 即註釋掉bind
2.requirepass avicit 設定訪問密碼
3.將 daemonize no 改為 daemonize yes 以守護程序進行訪問
4.masterauth avicit 當master服務設定了密碼保護時,slave服務連線master的密碼(哨兵在進行故障主從切換時會動態更新配置檔案,該節點可能會切換為從身份,初始不管主從都需要設定)
5. slaveof <masterip> <masterport>設定master服務的IP地址及埠,表示該節點為從節點。在Redis啟動時,它會自動從master進行資料同步。只有從節點配置該項。例:slaveof 10.216.70.104 6377
6.如果在本機搭建主從叢集,還需要將pidfile、logfile、dbfilename檔名進行修改,以免多個節點相關檔案覆蓋。
配置完成後依次啟動主從節點
先啟動主節點:redis-server ../etc/redis6377.conf (這是我本機的主節點配置,redis.conf檔案可重新命名,啟動時指向對檔案就行),啟動後進入客戶端通過 info replication 檢視節點資訊
此時主節點資訊為
哨兵叢集配置
修改sentinel.conf檔案幾項配置
1.port 預設為26379
2.設定protected-mode no (配置中沒有改項需要新增) 關閉禁止公網訪問redis
3.sentinel monitor mymaster 10.216.70.104 6377 2 (mymaster自定義命名,需要各個地方統一,預設為mymaster,ip及埠為主節點的ip埠,最後的2代表,當叢集中有2個sentinel認為master死了時,才能真正認為該master已經不可用了。)
4.sentinel auth-pass mymaster avicit 訪問主節點的密碼
5.sentinel down-after-milliseconds mymaster 30000 30秒(根據情況修改時間)後sentinel認為主節點不可用,進行切換主從。
啟動哨兵
bin/redis-server sentinel.conf —sentinel