下載redis安裝包:redis-4.0.1.tar.gzredis
解壓:數據庫
tar -zxvf redis-4.0.1.tar.gz
進入redis解壓目錄服務器
cd redis-4.0.1
執行make 對Redis解壓後文件進行編譯架構
make
編譯成功後,進入src文件夾,執行make install進行Redis安裝分佈式
make install PREFIX=/usr/local/redis
安裝完成以後,將配置文件redis.conf拷貝到安裝目錄下進行配置測試
cp /home/redis-4.0.1/redis.conf /usr/local/redis/
在不一樣主機上面重複上面操做,這裏安裝安裝3臺(1主2從)。ui
主服務器配置,這裏只介紹基礎的配置項spa
port 6379 #端口配置 daemonize yes #後臺運行 pidfile "/var/run/redis_6379.pid" #運行進程ID保存文件 loglevel verbose #日誌級別 logfile "/usr/local/redis/log/redis.log" #日誌文件 databases 16 #數據庫個數 rdbcompression yes #數據壓縮存儲 dbfilename "dump.rdb" #數據文件 dir "/usr/local/redis/data" #數據文件存儲目錄 masterauth "secms123" #主服務器認證密碼,主從複製數據時用到(將三臺密碼配置相同,不管哪一個做爲主服務都能正常認證) slave-read-only yes #從服務器只讀 requirepass "secms123" #服務器登錄認證密碼
從服務器除了上面基本配置外還須要配置日誌
masterauth "secms123" #主從複製時連接主服務器的認證密碼 slaveof 10.118.213.238 6379 #第一次啓動時主服務器IP和端口(在啓動自動切換後若是切換,會被修改當前主服務器的IP和端口)
至此 主從配置完成,可啓動測試。只能在主服務器上新增數據、修改數據、刪除數據。同時從服務器會同步主服務器的修改。code
啓動:
./bin/redis-server redis.conf
redis哨兵(Redis Sentinel)的啓動和redis實例的啓動沒有關係。因此能夠在任何機器上啓動redis哨兵。Redis Sentinel 是一個分佈式系統,能夠在整個redis主從架構中運行多個 Sentinel 進程(progress)。建議至少要保證有兩個哨兵在運行,要否則物理機宕機後哨兵進程也不存在了,就沒法進行主從切換。
複製sentinel配置文件到安裝目錄下
cp /home/redis-4.0.1/sentinel.conf /usr/local/redis/
修改配置
port 26379 #哨兵端口 sentinel monitor mymaster 10.118.213.218 6380 1 #啓動時哨兵監控的主服務器IP和端口 sentinel down-after-milliseconds mymaster 10000 #master或slave多長時間(默認30秒)不能使用後標記爲s_down狀態 sentinel failover-timeout mymaster 10000 #若sentinel在該配置值內未能完成failover操做(即故障時master/slave自動切換),則認爲本次failover失敗 sentinel auth-pass mymaster secms123 #設置master和slaves驗證密碼(這裏主從都一致)
配置完成啓動哨兵,對主服務器進行監控。
測試:能夠kill掉主服務器進程,觀察日誌會有新的主服務器被選舉出來。
啓動哨兵:
./bin/redis-sentinel sentinel.conf
最後爲了不異常這裏都將redis服務的保護模式設置爲關閉狀態
protected-mode no