Redis集群高可用配置

Redis Cluster 集群的高可用配置在工程应用中必须重视起来,下面浅浅的聊聊。
Redis 集群相关概念:

  • cluster-enabled:普通的 Redis 实例是不能成为集群的一员,想要将该节点加入 Redis Cluster,需要设置 cluster-enabled yes;
  • cluster-config-file:cluster-config-file nodes-6379.conf 指定集群中的每个节点文件;
  • cluster-node-timeout:设置集群节点不可用的最大超时时间,节点失效检测;默认配置是 cluster-node-timeout 15000,单位是毫秒数;
    集群中当一个节点向另一个节点发送PING命令,但是目标节点未在给定的时限内返回PING命令的回复时,那么发送命令的节点会将目标节点标记为PFAIL;如果master 节点超过这个时间还是无响应,则用它的从节点将启动故障迁移,升级成主节点。
  • cluster-port:该端口是集群总线监听 TCP 连接的端口,默认配置为 cluster-port 0;
  • cluster-replica-validity-factor:该配置用于决定当 Redis Cluster 集群中,一个 master 宕机后,如何选择一个 slave 节点完成故障转移自动恢复(failover)。如果设置为 0 ,则不管 slave 与 master 之间断开多久,都认为自己有资格成为 master;
  • cluster-replica-no-failover:默认配置为 no,当配置成 yes,在master 宕机时,slave 不会做故障转移升为 master;

Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
Redis 集群搭建实例
6个节点,如192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4、192.168.1.5、192.168.1.6
删除6个节点中的aof、rdb文件,如rm -rf *.rdb *.aof
1、修改6个节点中的redis.conf
修改内容如下

...
#打开集群模式
cluster-enabled yes
...
#设定节点配置文件名
cluster-config-file nodes-6379.conf
...
#设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 15000
...

2、启动6个节点的redis
启动成功后会生成nodes-6379.conf文件,通过ps -ef | grep redis查看redis是否启动成功。

3、创建集群
用redis-cli 创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现)。

redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379 192.168.1.5:6379 192.168.1.6:6379 --cluster-replicas 1

其中,cluster-replicas 表示复制因子 1表示 一主一从。

4、测试集群
连接任意一个客户端即可,如redis-cli -c -h 192.168.1.1 -p 6379
登录进入之后,可以通过cluster info查看集群信息,通过cluster nodes查看节点列表。

后续若有修改或补充会进行更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值