在CentOS 7上搭建Redis Sentinel包括安装Redis、配置Redis主从复制、以及设置Sentinel本身。以下是具体步骤:
1. 安装Redis
首先确保系统是最新的,然后安装Redis。如果你的CentOS 7没有自带Redis包,你可能需要先添加EPEL仓库。
sudo yum update -y
sudo yum install epel-release -y
sudo yum install redis -y
2. 配置Redis主从复制
你需要至少3个Redis实例:一个主节点和两个从节点。假设我们有三台服务器,它们的IP分别是:
- 主节点: 192.168.1.100
- 从节点1: 192.168.1.101
- 从节点2: 192.168.1.102
在主节点服务器上:
编辑/etc/redis.conf
,确保以下设置:
bind 0.0.0.0
protected-mode no
在从节点服务器上(两个从节点都要执行):
编辑/etc/redis.conf
,修改以下内容:
bind 0.0.0.0
protected-mode no
slaveof 192.168.1.100 6379
然后在所有节点上启动Redis服务:
sudo systemctl start redis
sudo systemctl enable redis
3. 安装和配置Redis Sentinel
在每台服务器上安装并配置Redis Sentinel。Sentinel至少需要3个实例来保证自身的高可用性。
在所有服务器上创建Sentinel配置文件:
sudo touch /etc/redis-sentinel.conf
编辑/etc/redis-sentinel.conf
,添加以下配置(在所有Sentinel服务器上):
sentinel monitor mymaster 192.168.1.100 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
这里mymaster
是监控的主节点名称,192.168.1.100 6379
是主节点的地址和端口,2
表示至少需要2个Sentinel同意才能执行自动故障迁移。
4. 启动Redis Sentinel
在所有服务器上启动Redis Sentinel服务:
redis-sentinel /etc/redis-sentinel.conf
5. 验证设置
使用以下命令检查Sentinel状态:
redis-cli -p 26379
sentinel masters
这将列出所有被监控的主节点和相关信息。
注意事项
- 确保防火墙设置允许这些服务器间的通信。
- 你可能需要根据自己的网络设置调整
bind
和protected-mode
的配置。 - 在生产环境中,应该使用更加安全的配置,比如密码保护等。
通过以上步骤,你应该能在CentOS 7上成功搭建一个带有Sentinel的Redis主从复制环境。