在CentOS上配置Redis的高可用性,通常使用Redis Sentinel或Redis Cluster。以下是两种方案的简要介绍和配置步骤:
Redis Sentinel提供了对Redis实例的监控、故障转移和通知功能。
安装Redis:
sudo yum install epel-release
sudo yum install redis
启动Redis服务:
sudo systemctl start redis
sudo systemctl enable redis
安装Sentinel: Sentinel通常与Redis一起安装,所以不需要额外安装。
创建Sentinel配置文件:
sudo vi /etc/redis/sentinel.conf
配置Sentinel:
在sentinel.conf文件中添加以下内容:
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
解释:
mymaster 是主节点的名字。127.0.0.1 6379 是主节点的IP地址和端口。2 是判断主节点不可用的Sentinel数量。down-after-milliseconds 是Sentinel认为主节点不可用的时间阈值。failover-timeout 是故障转移的超时时间。parallel-syncs 是故障转移后同步到新主节点的从节点数量。启动Sentinel服务:
redis-sentinel /etc/redis/sentinel.conf
Redis Cluster提供了分布式和高可用性,支持自动分片和故障转移。
安装Redis:
sudo yum install epel-release
sudo yum install redis
启动Redis服务:
sudo systemctl start redis
sudo systemctl enable redis
创建多个Redis实例: 为了创建一个Redis Cluster,你需要至少三个主节点和三个从节点。每个节点需要一个配置文件。
sudo cp /etc/redis/redis.conf /etc/redis/redis-6379.conf
sudo vi /etc/redis/redis-6379.conf
修改配置文件中的端口和集群模式:
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
重复上述步骤,为其他节点创建不同的配置文件,并修改端口号(例如6380、6381等)。
启动Redis实例:
redis-server /etc/redis/redis-6379.conf
redis-server /etc/redis/redis-6380.conf
redis-server /etc/redis/redis-6381.conf
创建Redis Cluster:
使用redis-cli创建集群:
redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 --cluster-replicas 1
解释:
127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 是节点的地址和端口。--cluster-replicas 1 表示每个主节点有一个从节点。redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
连接到集群:
redis-cli -c -p 6379
检查集群状态:
cluster info
cluster nodes
通过以上步骤,你可以在CentOS上配置Redis的高可用性方案。根据你的需求选择合适的方案(Sentinel或Cluster)。