环境
本次实验使用3个节点,三个sentinel redis(一主两从)
IP | 角色 |
---|---|
192.168.1.54 | sentinel-01 |
192.168.1.58 | sentinel-02 |
192.168.1.94 | sentinel-03 |
192.168.1.116 | redis-01-主 |
192.168.1.240 | redis-02-从 |
部署 redis 主从
修改 redis 主节点(192.168.1.116)配置
代码语言:javascript复制vim /etc/redis.conf
bind 0.0.0.0
daemonize yes
pidfile "/var/run/redis/redis.pid"
port 6379
tcp-backlog 511
loglevel notice
logfile "/var/log/redis/redis.log"
dbfilename dump.rdb
dir "/data/redis/"
masterauth 123456
requirepass 123456
appendonly yes
appendfilename "appendonly.aof"
修改 redis 从节点(192.168.1.240)配置
代码语言:javascript复制vim /etc/redis.conf
bind 0.0.0.0
daemonize yes
pidfile "/var/run/redis/redis.pid"
port 6379
tcp-backlog 511
loglevel notice
logfile "/var/log/redis/redis.log"
dbfilename dump.rdb
dir "/data/redis/"
masterauth 123456
requirepass 123456
appendonly yes
appendfilename "appendonly.aof"
slaveof 192.168.1.116 6379 # 从节点加此行,指向主节点
部署 sentinel(三个节点配置相同)
代码语言:javascript复制vim /etc/redis-sentinel.conf
port 26379
protected-mode no # 禁用保护模式
sentinel monitor mymaster 192.168.1.116 6379 2
# 密码验证
sentinel auth-pass mymaster 123456 # 如果 redis 中配置了密码,这里也要配置,否则不能切换
# 判断master节点是否存活,超过这个时长就将其下线。单位是毫秒。60000就是60秒
sentinel down-after-milliseconds mymaster 10000
# 哨兵服务器执行转移后,允许多少台slave服务器对新master服务器进行连接,这个是为了减轻服务压力
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间
sentinel failover-timeout mymaster 60000
启动 redis 主从节点
代码语言:javascript复制systemctl start redis
systemctl enable redis
启动 sentinel 节占
代码语言:javascript复制systemctl start redis-sentinel
systemctl enable redis-sentinel
查看状态
代码语言:javascript复制# 查看 redis 主从状态
redis-cli -h 192.168.1.240 -p 6379 -a 123456 info replication
# 查看 sentinel 状态
redis-cli -h 192.168.1.54 -p 26379 info sentinel