温馨提示×

centos redis怎样配哨兵

小樊
41
2026-09-24 03:42:12
栏目: 云计算

下面以 CentOS 7/8 为例,讲一下 Redis 哨兵(Sentinel) 的搭建与配置,假设是 1 主 2 从 + 3 哨兵 的经典架构。


一、环境规划

角色 IP 端口
Redis 主 192.168.1.10 6379
Redis 从1 192.168.1.11 6379
Redis 从2 192.168.1.12 6379
Sentinel1 192.168.1.10 26379
Sentinel2 192.168.1.11 26379
Sentinel3 192.168.1.12 26379

二、安装 Redis(三台都执行)

yum install -y epel-release
yum install -y redis

启动并开机自启:

systemctl enable redis
systemctl start redis

三、配置 Redis 主从

1️⃣ 主节点(192.168.1.10)

vim /etc/redis.conf

关键配置:

bind 0.0.0.0
protected-mode no
daemonize yes

重启:

systemctl restart redis

2️⃣ 从节点(192.168.1.11 / 12)

vim /etc/redis.conf
bind 0.0.0.0
protected-mode no
daemonize yes
replicaof 192.168.1.10 6379

重启:

systemctl restart redis

验证:

redis-cli info replication

四、配置 Sentinel(三台都配)

1️⃣ 编辑哨兵配置文件

vim /etc/redis-sentinel.conf

基础配置:

port 26379
daemonize yes
protected-mode no

sentinel monitor mymaster 192.168.1.10 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1

说明:

  • mymaster:主节点名称(自定义)
  • 2:至少 2 个哨兵认为宕机才切换
  • down-after-milliseconds:5 秒无响应认为下线

2️⃣ 启动哨兵

systemctl enable redis-sentinel
systemctl start redis-sentinel

确认端口:

netstat -lntp | grep 26379

五、验证哨兵

redis-cli -p 26379
> sentinel masters
> sentinel slaves mymaster
> sentinel sentinels mymaster

六、故障切换测试

主节点停掉:

systemctl stop redis

几秒后查看:

redis-cli -p 26379 sentinel get-master-addr-by-name mymaster

会自动选出新主。


七、常见问题

✅ 防火墙

firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=26379/tcp --permanent
firewall-cmd --reload

✅ 云服务器注意安全组

✅ 建议 Redis 和 Sentinel 分开部署


如果你需要 Docker 版哨兵一机多实例配置,也可以告诉我。

0