Cluster集群
一个 Redis 集群中的节点数量至少需要 6 个才能保证组成完整高可用的集群。每个节点都需要开启 cluster-enabled yes,让 Redis 运行在集群模式下。建议为集群内所有节点统一目录,一般划分为三个目录:conf、data、log,分别存放配置、数据和日志相关文件。
集群模式的 Redis 除了原有的配置文件之外,又增加了一份集群配置文件(由参数 cluster-config-file 设置)。
当集群内节点信息发生变化,如添加节点、节点下线、故障转移等,节点会自动保存集群状态到集群配置文件中。
Redis 自动维护集群配置文件,不要手动修改,防止节点重启时产生集群信息错误。
节点 ID:它是一个长度为 40 位的 16 进制字符串,用于唯一标识集群内一个节点。
节点 ID 不同于运行 ID,节点 ID 在集群初始化时创建,节点重启时会加载集群配置文件进行重用,而 Redis 的运行 ID 每次重启都会变化。
创建目录
mkdir -p /media/redis/node1/conf
mkdir -p /media/redis/node1/data
vim /media/redis/node1/conf/redis.conf注意:redis.conf中必须配置以下属性:
cluster-enabled yes
bind * -::*
protected-mode no
cp -r /media/redis/node1 /media/redis/node2
cp -r /media/redis/node1 /media/redis/node3
cp -r /media/redis/node1 /media/redis/node4
cp -r /media/redis/node1 /media/redis/node5
cp -r /media/redis/node1 /media/redis/node6启动集群服务
第一步:准备节点
此时,各个redis服务均处于独立状态,彼此并无联系
第二步:节点握手,并分配分区槽
第三步:检查集群状态
访问redis集群
redis-cli命令中的 -c 的作用时,当收到重定向信息时,进行自动重定向
集群扩容
第一步:准备节点
第二步:新节点加入集群
第三步:槽迁移
第四步:检查集群状态
第五步:增加slave节点
集群缩容
第一步:移除slave节点
第二步:槽迁移
为了满足负载均衡条件,在归还节点的slot时,应该将这些slot均匀地分配给各个主节点。
而因为reshard命令只能向一个目标节点迁移slot,因此需要多次执行reshard命令以完成slot的迁移。
第三步:移除master节点
Last updated
Was this helpful?