一、快速回顾搭建RedisCluster集群
1.cash槽
2. 没有分配卡槽:
/usr/redis/bin/redis-cli --cluster create 192.168.212.163:7000 192.168.212.163:7001 192.168.212.163:7002 192.168.212.163:7003 192.168.212.163:7004 192.168.212.163:7005 --cluster-replicas 1
(建议最好使用服务器的ip地址搭建)
查看key值的位置
二、RedisCluster快速实现扩容原理
1.可以存放 无数个key 。一个卡槽 可以存放多个key, 类似数据库,一个表中,可以存放无数条数据。
三、演示一个搭建RedisCluster错误场景
1.手动启动 7706,7007
/usr/redis/bin/redis-server /usr/rediscluster/redis7006/redis.conf
/usr/redis/bin/redis-server /usr/rediscluster/redis7007/redis.conf
2.新增一个主节点 为7006
/usr/redis/bin/redis-cli --cluster add-node 192.168.212.163:7006 192.168.212.163:7000
任意 已经 存在的节点。
dump没有 指定端口号(只会在伪集群出现。demp.rdb文件 没有作区分)
杀掉7007 7007的进程 再来一次
3.新增一个从节点 为7007
/usr/redis/bin/redis-cli --cluster add-node 192.168.212.163:7007 192.168.212.163:7000 --cluster-salve --cluster-master-id 5d94171eb34ed4396bf5b9db8efaab4d96d0cf10
四、以正确的方式搭建RedisCluster集群
1.每一个dump.rdb都做区分
1.新增一个主节点 为7006
/usr/redis/bin/redis-cli --cluster add-node 192.168.212.163:7006 192.168.212.163:7000
新增节点默认是master节点。但是没有 卡槽
2.新增一个从节点 为7007
/usr/redis/bin/redis-cli --cluster add-node 192.168.212.163:7007 192.168.212.163:7000 --cluster-salve --cluster-master-id 5d94171eb34ed4396bf5b9db8efaab4d96d0cf10
master的id
五、RedisCluster快速的实现卡槽扩容
现在:
原来:
六、master节点宕机之后重新实现选举
7007是7006的主从节点
1.连接到7006
2.当7006宕机之后:
3.连接到7007
4.查看当前节点变化:
cluster node
7007变成master节点
6. 启动7006
7. 7006变成7007的从节点
七、RedisCluster快速的实现缩容
- 不要最后一个节点 卡槽需要还原给存在的节点
2.Redis槽位缩容
/usr/redis/bin/redis-cli --cluster reshard 192.168.212.163:7000 --cluster-from 5d94171eb34ed4396bf5b9db8efaab4d96d0cf10 --cluster-to 511058958a3b80dd600e060c2500050c6c5a02ab --cluster-slots
八、JedisCluster支持集群原理
不支持重定向