Redis哨兵機制
Redis Sentinel物理結構圖
角色 | IP | Port | 別名 |
master | 127.0.01 | 6379 | 主節點 |
slave-1 | 127.0.01 | 6380 | slave-1節點 |
slave-2 | 127.0.01 | 6381 | slave-2節點 |
sentinel-1 | 127.0.01 | 26379 | sentinel-1節點 |
sentinel-2 | 127.0.01 | 26380 | sentinel-2節點 |
sentinel-3 | 127.0.01 | 26381 | sentinel-3節點 |
1. 啟動主節點
配置:
port 6379
daemonize yes
logfile “6379.log”
dbfilename “dump-6379.rdb”
dir “/opt/soft/redis/data/”
啟動主節點,並用一下命令驗證主節點是否啟動成功:
redis-cli -h 127.0.0.1 -p 6379 ping
此時的拓撲結構圖如下:
2. 啟動兩個從節點
配置:
和主節點一樣,只是添加了一條:slaveof 127.0.0.1 6379
啟動兩個從節點,並驗證是否啟動成功。
3. 確認主從關系
主節點視角,使用info
從節點視角,使用info命令查看
此時的拓撲結構圖如下:
4. 配置sentinel節點
配置:
port 26379
daemonize yes
dir /opt/soft/redis/data
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
1). Sentinel節點的默認端口是26379。
2). sentinel monitor mymaster 127.0.0.1 6379 2配置代表sentinel-1節點需要監控127.0.0.1:6379這個主節點,2代表判斷主節點失敗至少需要2個sentinel節點同意,mymaster是主節點的別名。
5. 啟動sentinel節點
按照上述方法配置其余兩個sentinel節點,然後分別啟動
redis-sentinel redis-sentinel-26379.conf
6. 確認
redis-cli -h 127.0.0.1 -p 26379 info sentinel
7. 最後的拓撲結構圖如下:
8. 驗證
Redis哨兵機制