在CentOS上配置Redis哨兵模式,可以按照以下步骤进行:
首先,确保你的CentOS系统已经安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install redis
编辑主节点的Redis配置文件(通常位于/etc/redis.conf
),确保以下配置项正确设置:
port 6379
bind 127.0.0.1
requirepass your_master_password
编辑从节点的Redis配置文件(通常位于/etc/redis.conf
),确保以下配置项正确设置:
port 6380
slaveof 127.0.0.1 6379
masterauth your_master_password
创建一个哨兵配置文件(例如/etc/redis-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
:指定哨兵认为主节点失效的时间阈值。sentinel failover-timeout mymaster 60000
:指定故障转移的超时时间。sentinel parallel-syncs mymaster 1
:指定在故障转移后,同时同步到新主节点的从节点数量。启动主节点和从节点的Redis服务:
sudo systemctl start redis
sudo systemctl start redis@6380
启动哨兵服务:
redis-sentinel /etc/redis-sentinel.conf
你可以通过以下命令检查哨兵的状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
如果配置正确,你应该能看到主节点的地址和端口。
为了提高可用性,建议配置多个哨兵节点。每个哨兵节点都应该有相同的配置文件,并且监听不同的端口。例如:
/etc/redis-sentinel.conf
,监听端口26379
/etc/redis-sentinel.conf
,监听端口26380
/etc/redis-sentinel.conf
,监听端口26381
启动每个哨兵节点:
redis-sentinel /etc/redis-sentinel.conf --port 26379
redis-sentinel /etc/redis-sentinel.conf --port 26380
redis-sentinel /etc/redis-sentinel.conf --port 26381
通过以上步骤,你就可以在CentOS上成功配置Redis哨兵模式。