centos7.2 redis主從,哨兵配置
redis的主從,哨兵配置也非常簡單,一主N從,N哨兵都可以。具體的配置方法下面記錄一下:
預設環境: 一主,2叢,3哨兵
1. master主機設定:
$ vim /etc/redis/6379.conf (編輯redis資料庫配置檔案)
--------------------------------------------------------------------------------------------
# bind 127.0.0.1 (註釋掉這個配置項,允許任意使用者連線)
protected-mode no (關閉保護程序)
daemonize yes (開啟守護程序)
timeout 300 (客戶端限制300秒後關閉連線,0則為不啟動此功能)
#save 900 1 (註釋掉三個資料持久化的選項,這樣資料就會一直存於記憶體中, 不會持久化寫入磁碟)
#save 300 10
#save 60 10000
maxmemory 2gb (最大記憶體限制,根據實際情況自定義)
----------------------------------------------------------------------------------------------
2. 從機,salve端的配置
$ vim /etc/redis/6379.conf (編輯配置檔案)
------------------------------------------------------------
matser端的所有更改,這裡也要更改
在此基礎上,額外修改下面配置:
slaveof 192.168.9.79 6379 (指定matser機的IP和埠)
masterauth 123456 (指定主機master的redis連線密碼,如果沒有密碼則不需要配置)
----------------------------------------------------------
3. 依次開啟matser機,salve機的redis-server,然後執行下面的命令可測試是否設定成功
$ redis-cli -a 123456 (登陸redis)
127.0.0.1:6379>info (檢視資訊)
-----------------------------------------------------------------------------------------------
# Replication
role:master
connected_slaves:2
slave0:ip=172.18.42.180,port=6379,state=online,offset=874800532,lag=1
slave1:ip=172.18.42.181,port=6379,state=online,offset=874800532,lag=1
-----------------------------------------------------------------------------------------------
出現上面的內容,即證明主從設定成功
4. 哨兵的配置,哨兵可以不需要另外的電腦,一臺主機可以同時開啟一個server服務,一個sentinel哨兵服務。
$ vim /usr/local/redis-4.0.1/sentinel.conf ( 安裝後就會有一個哨兵配置檔案,修改之)
---------------------------------------------------------------------------------------------------------
daemonize yes ( 新新增的配置,啟用守護程序)
logfile "/var/log/redis/sentinel-1.log" (新新增的,只當日誌檔案位置)
protected-mode no (關閉保護模式)
port 26379 (埠)
sentinel monitor mymaster 172.18.42.179 6379 2 (設定matser主機的IP和埠,後面的2,表示有兩臺或以上哨兵認定master掛掉了,則可認為master掛掉,進行master的切換,這裡設定三臺哨兵)
sentinel auth-pass mymaster xingqi (指定master主機的密碼)
---------------------------------------------------------------------------------------------------------
5. 依次啟動哨兵服務
$ redis-sentinel sentinel.conf (指定配置檔案,啟動哨兵服務)
6. 測試哨兵叢集是否正常啟動
$ redis-cli -p 26379 (登陸哨兵服務
127.0.0.1:26379>info sentinel
---------------------------------------------------------------------------
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=172.18.42.179:6379,slaves=2,sentinels=3
----------------------------------------------------------------------------------------------------------
出現上面的資訊,則證明成功開啟了主從哨兵叢集。註明了matser機的IP,從機的數量和哨兵的數量。
OK,到此即可正常使用,可以自行進行測試,master關掉服務後,是否會自動切換matser,主從是否能正常複製資料等。