Redis集群操作的方法


本篇内容介绍了“Redis集群操作的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于已有一定基础,这里搭建一个基础版本三主三从,架构如下查看集群状态:cluster nodes从上图可以看出,整个集群运行正常,三个master节点和三个slave节点,8001端口的实例节免费云主机域名点存储0-5460这些hash槽,8002端口的实例节点存储5461-10922这些hash槽,8003端口的实例节点存储10923-16383这些hash槽,这三个master节点存储的所有hash槽组成 redis集群的存储槽位,slave点是每个主节点的备份从节点,不显示存储槽位。 我们在原始集群基础上再增加一主(8007)一从(8008),增加节点后的集群参见下图,新增节点用虚线框表示 在/usr/local/redis-cluster下创建8007和8008文件夹,并拷贝8001文件夹下的redis.conf文件到8007和8008这两个文件夹下用add-node命令新增一个主节点8007(master),前面的ip:port为新增节点,后面的ip:port为已知存在节点,看到日志最后有”[OK] New node added correctly”提示代表新节点加入成功查看集群状态如下所示:注意:当添加节点成功以后,新增的节点不会有任何数据,因为它还没有分配任何的slot(hash槽),我们需要为新节点手工分配hash槽使用redis-cli命令为8007分配hash槽,找到集群中的任意一个主节点,对其进行重新分片工作添加从节点8008到集群中去并查看集群状态如下:如图所示,还是一个master节点,没有被分配任何的hash槽。原因:我们需要执行replicate命令来指定当前节点(从节点)的主节点id为哪个,首先需要连接新加的8008节点的客户端,然后使用集群命令进行操作,把当前的8008(slave)节点指定到一个主节点下(这里使用之前创建的8007主节点)执行指令查看集群状态,8008节点已成功添加为8007节点的从节点用del-node删除从节点8008,指定删除节点ip和端口,以及节点id(红色为8008节点id)再次查看集群状态,如下图所示,8008这个slave节点已经移除,并且该节点的redis服务也已被停止因为主节点的里面是有分配了hash槽的,所以我们这里必须先把8007里的hash槽放入到其他的可用主节点中去,然后再进行移除节点操作,不然会出现数据丢失问题(目前只能把master的数据迁移到一个节点上,暂时做不了平均分配功能),执行命令如下:迁移验证:会发现8007下面已经没有任何hash槽了,证明迁移成功!用del-node命令删除8007主节点即可查看最终集群状态,发现一切恢复如初,至此水平扩展结束“Redis集群操作的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 怎么进行Oracle 执行计划的说明

这期内容当中小编将会给大家带来有关怎么进行Oracle 执行计划的说明,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。如果一条…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/23 22:13
下一篇 01/23 22:13