4、查看集群状态
- 查看集群状态—这里以node-1,6381作为切入点
redis-cli -p 6381 cluster info
- 查看集群节点
redis-cli -p 6381 cluster nodes
5、集群的读写存储
- 通过
-c
参数实现读写存储切换集群节点
因为他在读写key的时候会对key进行计算出这个key所在哪个节点的槽位,每个操作都对应每个节点才可以去读写
redis-cli -p 6381 -c
6、查看集群信息
redis-cli --cluster check 192.168.88.128:6382
7、关于容错切换迁移
如果我们node1节点宕机了,那他的从节点就会顶上作为新的Master。如果node1节点后续又王者回归后,他也只能重新做新Master的从节点。
在我们这里的情况node-1节点的从节点是node-6,所以当node-1宕机后,node6就会成为新的master。
1、创建要扩容的节点
这里我们以再加入一对主从节点6387、6388,且6387是主,6388是从
#节点-7,主节点
docker run -d --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
#节点-8,从节点
docker run -d --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
docker ps
2、进入6387容器实例内部
docker exec -it redis-node-7 /bin/bash
3、将新增的6387节点(空槽号)作为master节点加入原集群
- 新增节点到集群中
将新增的6387作为master节点加入集群
redis-cli --cluster add-node 192.168.88.128:6387 192.168.88.128:6381
#6387 就是将要作为master新增节点
#6381 就是原来集群节点里面的领路人,相当于6387拜拜6381的码头从而找到组织加入集群
- 检查集群情况第1次
redis-cli --cluster check 192.168.88.128:6381
- 重新分派槽号—reshard
redis-cli --cluster reshard 192.168.88.128:6381
- 指定再分配的节点槽位数量
4096
-----16384/4
- 指定要给“谁”,是新机器node7
- 指定来源,是
所有节点
—all
- 是否继续分配—yes
- 查看分配槽位后的结果
redis-cli --cluster check 192.168.88.128:6381
上面的node-7节点再分配到的操作发现是
[0-1364],[5461-6826],[10923-12287]
结论是:他是将之前3个槽位的节点,
大家都抠出来一点
再分配给新节点node-7
4、将node-8从节点加入Redis集群
redis-cli --cluster add-node 192.168.88.128:6388 192.168.88.128:6387 --cluster-slave --cluster-master-id 258cb3004944d0d80ac32c501d2c4d6094f5ced3
#258cb3004944d0d80ac32c501d2c4d6094f5ced3-------这个是6387的编号,按照自己实际情况
5、再次检查集群情况
redis-cli --cluster check 192.168.88.128:6382
此时就有4台节点,且node-7是主节点,node-8是node-7的从节点。
那到这里主从扩容就结束了!
1、说明
将6387和6388下线,如果要删除一对主从,就需要先下线6388节点
,再下线6387节点
2、检查集群情况1获得6388的节点ID
redis-cli --cluster check 192.168.88.128:6382
3、将集群中将从节点6388删除
redis-cli --cluster del-node 192.168.88.128:6388 861e143b54b5dff826964ccb9b0ab6a4be6dddcf
4、检查集群节点状态
redis-cli --cluster check 192.168.88.128:6382
5、将6387的槽号清空,重新分配,本例将清出来的槽号都给6381
redis-cli --cluster reshard 192.168.88.128:6381
#流程,将6387中的4096个槽位全部发给6381
4096 #指定要分配的槽位
6381的id #指定谁接收槽位
6387的id #source从谁那里拿来给上面的接收人
yes
6、检查集群情况
redis-cli --cluster check 192.168.88.128:6382
7、将6387删除
redis-cli --cluster del-node 192.168.88.128:6387 258cb3004944d0d80ac32c501d2c4d6094f5ced3
#258cb3004944d0d80ac32c501d2c4d6094f5ced3为6387的节点id
8、检查集群情况
redis-cli --cluster check 192.168.88.128:6382
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/80b33f5153f135eaaf79f0a0f775126d.jpeg)
最后
小编精心为大家准备了一手资料
以上Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术
【附】架构书籍
- BAT面试的20道高频数据库问题解析
- Java面试宝典
- Netty实战
- 算法
BATJ面试要点及Java架构师进阶资料
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
mg.cn/images/e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />
最后
小编精心为大家准备了一手资料
[外链图片转存中…(img-UiVrAOLi-1712522728115)]
[外链图片转存中…(img-aTtuWNgA-1712522728115)]
以上Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术
【附】架构书籍
- BAT面试的20道高频数据库问题解析
- Java面试宝典
- Netty实战
- 算法
[外链图片转存中…(img-nYURqBt0-1712522728115)]
BATJ面试要点及Java架构师进阶资料
[外链图片转存中…(img-qEn8aVt3-1712522728116)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!