在CentOS上配置Redis哨兵模式需要以下几个步骤:
1. 安装Redis
首先,确保你已经在CentOS上安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release sudo yum install redis
2. 配置Redis主节点
编辑Redis主节点的配置文件(通常位于 /etc/redis.conf
),确保以下配置项正确设置:
port 6379 requirepass your_master_password
将 your_master_password
替换为你想要设置的密码。
3. 配置Redis从节点
编辑Redis从节点的配置文件(通常位于 /etc/redis.conf
),确保以下配置项正确设置:
port 6380 slaveof your_master_ip 6379 masterauth your_master_password
将 your_master_ip
替换为你的Redis主节点的IP地址。
4. 配置哨兵
创建一个新的配置文件用于哨兵(例如 /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
解释:
port
: 哨兵监听的端口。sentinel monitor mymaster your_master_ip 6379 2
: 监控名为mymaster
的主节点,IP地址为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
: 哨兵连接到主节点和从节点的认证密码。
5. 启动Redis和哨兵
启动Redis主节点和从节点:
sudo systemctl start redis sudo systemctl start redis@6380
启动哨兵:
redis-sentinel /etc/redis-sentinel.conf
6. 验证配置
你可以通过以下命令检查哨兵的状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
如果配置正确,你应该会看到主节点的IP地址和端口。
7. 配置多个哨兵(可选)
为了提高可靠性,建议配置多个哨兵节点。每个哨兵节点都应该有相同的配置文件,并且监听不同的端口。
例如,创建第二个哨兵配置文件 /etc/redis-sentinel2.conf
:
port 26380 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
然后启动第二个哨兵:
redis-sentinel /etc/redis-sentinel2.conf
通过以上步骤,你就可以在CentOS上成功配置Redis哨兵模式。