在CentOS上搭建Redis哨兵模式,可以按照以下步骤进行:
首先,确保你的CentOS系统已经安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install redis
编辑Redis主节点的配置文件/etc/redis.conf
,确保以下配置项正确设置:
port 6379
requirepass your_master_password
将your_master_password
替换为你想要设置的密码。
启动Redis主节点服务:
sudo systemctl start redis
sudo systemctl enable redis
编辑Redis从节点的配置文件/etc/redis.conf
,确保以下配置项正确设置:
port 6380
slaveof your_master_ip 6379
masterauth your_master_password
将your_master_ip
替换为Redis主节点的IP地址,your_master_password
替换为你设置的密码。
启动Redis从节点服务:
sudo systemctl start redis
sudo systemctl enable redis
创建一个哨兵配置文件,例如/etc/redis-sentinel.conf
,并添加以下内容:
sentinel monitor mymaster your_master_ip 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
解释:
mymaster
是哨兵监控的主节点名称。your_master_ip
是Redis主节点的IP地址。6379
是Redis主节点的端口。2
表示至少需要2个哨兵同意主节点失效才会进行故障转移。down-after-milliseconds
是哨兵认为主节点失效的时间阈值。failover-timeout
是故障转移的超时时间。parallel-syncs
是故障转移后同时同步的从节点数量。启动Redis哨兵服务:
redis-sentinel /etc/redis-sentinel.conf
你可以将这个命令添加到系统的启动脚本中,以便系统启动时自动运行哨兵。
你可以通过以下命令查看哨兵的状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
如果配置正确,你应该能看到主节点的IP地址和端口。
为了测试故障转移,你可以手动停止Redis主节点,然后观察哨兵是否能够自动进行故障转移,并将从节点提升为主节点。
sudo systemctl stop redis
然后再次检查哨兵状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
你应该能看到新的主节点信息。
通过以上步骤,你就可以在CentOS上成功搭建Redis哨兵模式。