下載源碼:
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
解壓和安裝
tar -xf redis-4.0.11.tar.gz -C /usr/local/
cd /usr/local/
ln -s redis-4.0.11/ redis
cd /usr/local/redis
make MALLOC=libc && make && make install
配置主從: 1主192.168.203.100 2從配置好 192.168.203.101 192.168.203.102
主配置文件:
bind 192.168.203.100 127.0.0.1 #不想監聽0.0.0.0 且,又但願監聽127.0.0.1和本機ip
protected-mode no #無保護模式,若是不打算設置密碼,且使用主從,這個地方必定要設置no
daemonize yes #配置後臺啓動
logfile "./redis.log" #配置redis運行的日誌路徑
pidfile "/var/run/redis_6379.pid" # 默認無需更改html
192.168.203.101這個從節點配置文件:
bind 192.168.203.101 127.0.0.1 #不想監聽0.0.0.0 且,又但願監聽127.0.0.1和本機ip
protected-mode no #無保護模式,若是不打算設置密碼,且使用主從,這個地方必定要設置no
daemonize yes #配置後臺啓動
logfile "./redis.log" #配置redis運行的日誌路徑
pidfile "/var/run/redis_6379.pid" # 默認無需更改
slaveof 192.168.203.100 6379redis
啓動
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
關閉
redis-cli shutdown
檢查:
netstat -tulnp |grep 6379ide
配置slave:
slaveof 192.168.203.100 6379測試
驗證主從正常
redis-cli info replication
其中 master_link_status:up 正常,且主從數據測試可以同步ui
bind 0.0.0.0
protected-mode no #默認爲no
sentinel monitor mymaster 192.168.203.100 6379 2
dir "/tmp" #默認便可, sentinel的chroot目錄
logfile "./sentinel.log" #須要添加這行配置,不然看不到sentinel的日誌
sentinel down-after-milliseconds mymaster 5000
daemonize yes #後臺啓動日誌
啓動哨兵
/usr/local/redis/src/redis-sentinel /usr/local/redis/sentinel.conf
檢查哨兵狀態
redis-cli -p 26379 INFO Sentinel
關閉哨兵
redis-cli -p 26379 shutdown
查看哨兵日誌
tail -f /tmp/sentinel.log code
在哨兵模式下,這兩個文件會被自動控制,而且自動修改的。
redis.conf sentinel.conf server
添加認證
redis.conf添加的配置
masterauth "123456"
requirepass "123456"
protected-mode yes #固然此時設置了爲no,測試也沒有影響,須要密碼htm
sentinel.conf 配置文件修改blog
注意: 必定要搞清楚masterauth 和 requirepass 區別
https://www.cnblogs.com/hexiaohui003/p/10885928.html
1 查看日誌:tail -f /tmp/sentinel.log
2 查看狀態: redis-cli -p 26379 INFO Sentinel
緣由:
slave 沒有良好的,緣由,是bind沒有監聽本機端口,只監聽了127.0.0.1 。 這是屬於master-slave階段就錯誤了
requirepass 在redis.conf中忘了加,requirepass 和 masterauth 須要配套使用
'sentinel auth-pass mymaster "123456"'
No such master with specified name.
緣由: sentinel monitor mymaster 這行配置應該在sentinel.conf配置文件中其餘sentinel的配置的前面。