在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
替换为你想要设置的密码。
编辑每个从节点的配置文件(通常也位于/etc/redis.conf
),确保以下配置项被正确设置:
port 6380 # 每个从节点的端口不同
slaveof your_master_ip 6379
masterauth your_master_password
将your_master_ip
替换为主节点的IP地址,your_master_password
替换为主节点的密码。
启动主节点和从节点的Redis服务:
sudo systemctl start redis
sudo systemctl enable redis
对于从节点,可以使用以下命令启动:
sudo systemctl start redis@6380
sudo systemctl enable redis@6380
创建一个新的配置文件用于哨兵(例如/etc/redis-sentinel.conf
),并添加以下内容:
port 26379
sentinel monitor mymaster your_master_ip 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
sentinel auth-pass mymaster your_master_password
mymaster
是哨兵对主节点的称呼。your_master_ip
是主节点的IP地址。6379
是主节点的端口。2
表示至少需要两个哨兵同意主节点失效才会进行故障转移。down-after-milliseconds
是哨兵认为主节点失效的时间阈值。failover-timeout
是故障转移的超时时间。parallel-syncs
是故障转移后同时同步的从节点数量。auth-pass
是主节点的密码。启动哨兵服务:
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的哨兵模式。