redis-sentinel哨兵模式部署

2022-10-27 14:40:03 浏览数 (2)

环境

本次实验使用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

0 人点赞