1. 程式人生 > >redis高可用環境搭建(主從+哨兵)

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配置檔案和常用命令移動到同一檔案中。

建立binetc資料夾

mkdir bin

mkdir etc

            複製檔案

cp redis.conf etc

cd src

cp redis-server redis-cli ../bin

2.redis叢集配置

主從節點的配置修改

修改各節點redis.conf的幾項配置:

1.

bind 127.0.0.1 改為 bind 0.0.0.0   其目的是為了可以讓遠端進行訪問。還有一種說法:

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.如果在本機搭建主從叢集,還需要將pidfilelogfiledbfilename檔名進行修改,以免多個節點相關檔案覆蓋。

配置完成後依次啟動主從節點

先啟動主節點: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代表,當叢集中有2sentinel認為master死了時,才能真正認為該master已經不可用了。)

4.sentinel auth-pass mymaster avicit     訪問主節點的密碼

5.sentinel down-after-milliseconds mymaster 30000  30(根據情況修改時間)sentinel認為主節點不可用,進行切換主從。

啟動哨兵

bin/redis-server sentinel.conf sentinel