在Debian上配置Redis哨兵模式需要以下几个步骤:
首先,确保你已经安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install redis-server
你需要为每个Redis实例创建一个配置文件。假设你有三个Redis实例,分别命名为redis-master、redis-slave1和redis-slave2。
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6380
slaveof 127.0.0.1 6379
使用以下命令启动每个Redis实例:
redis-server /path/to/redis-master.conf
redis-server /path/to/redis-slave1.conf
redis-server /path/to/redis-slave2.conf
创建一个哨兵配置文件,例如sentinel.conf:
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
解释:
sentinel monitor mymaster 127.0.0.1 6379 2:监控名为mymaster的主节点,地址为127.0.0.1,端口为6379,至少需要2个哨兵同意主节点失效才会进行故障转移。sentinel down-after-milliseconds mymaster 5000:主节点在5秒内没有响应则认为其下线。sentinel failover-timeout mymaster 60000:故障转移的超时时间为60秒。sentinel parallel-syncs mymaster 1:故障转移时,最多允许1个从节点同时进行同步。使用以下命令启动哨兵:
redis-sentinel /path/to/sentinel.conf
你可以通过以下命令查看哨兵的状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
如果配置正确,你应该能看到主节点的地址和端口。
你可以手动停止主节点来测试故障转移:
redis-cli -p 6379 shutdown
然后检查哨兵是否成功进行了故障转移,并且从节点是否升级为主节点。
通过以上步骤,你就可以在Debian上成功配置Redis哨兵模式。