文章目录

  • redis cluster如何增加和删除节点?
    • 背景说明
    • 添加节点
      • 添加master节点
      • 添加slave节点
    • 删除节点
      • 删除master节点
      • 删除slave节点

redis cluster如何增加和删除节点?

背景说明

由于虚拟环境有限,目前所采用的集群方案是在 3 台机器去搭建 6 个 redis 实例的 redis cluster(每台两个)。

使用命令 redis-cli -h 10.0.0.4 -p 7001 cluster nodes 查看当前集群节点

添加节点

添加master节点

配置并启动即将添加的节点,具体操作参考简单搭建redis cluster集群。

第一步:使用命令 redis-cli --cluster add-node 10.0.0.7:7007 10.0.0.4:7001 添加节点;

前面的 ip:port 为将要添加的节点,后面的 ip:port 表示集群中的任意一个节点。

第二步:使用命令 redis-cli --cluster reshard 10.0.0.7:7007 分配 slots。

执行命令 redis-cli --cluster reshard 10.0.0.7:7007 时出现的询问:
How many slots do you want to move (from 1 to 16384)?:表示需要移动槽的数量。填写自己的需要即可。
What is the receiving node ID?:表示:那个 id 来接收它。即新的 7007 的 id。
Source node #1:从填写的那个节点 id 上移动散列插槽。如果需要平均节点插槽,那么每个主节点的 id 都写上或者写 all。
Do you want to proceed with the proposed reshard plan (yes/no)?:确定要移动这些槽的计划吗?输入 yes 或者 no。

[root@mq4 init.d]# redis-cli --cluster reshard 10.0.0.7:7007
>>> Performing Cluster Check (using node 10.0.0.7:7007)
M: f1f7185e3f0a1096ad16b598005875e1b2d306cc 10.0.0.7:7007slots: (0 slots) master1 additional replica(s)
S: 15df8829b8e756ce76ae1c2b3d879193a758348a 10.0.0.7:7008slots: (0 slots) slavereplicates f1f7185e3f0a1096ad16b598005875e1b2d306cc
M: 58869cf6dee60706154a5a3461c4687922e6ea60 10.0.0.5:7003slots:[5461-10922] (5462 slots) master1 additional replica(s)
M: 1a7a4d4168b0e3203f6c6c1e0a35351760f1bacf 10.0.0.4:7001slots:[0-5460] (5461 slots) master1 additional replica(s)
S: 32a1ec21e51934856a97efd8ce4bfc8ff90619d2 10.0.0.4:7002slots: (0 slots) slavereplicates 5f8f0c5c6b71615cc837cb1efe2997a35de45623
M: 5f8f0c5c6b71615cc837cb1efe2997a35de45623 10.0.0.6:7005slots:[10923-16383] (5461 slots) master1 additional replica(s)
S: 6959f6d61974895474c800c4c46f704ad4857264 10.0.0.5:7004slots: (0 slots) slavereplicates 1a7a4d4168b0e3203f6c6c1e0a35351760f1bacf
S: 0ea5f18383cfa1fb70d4af093cd1946fc0e2aff6 10.0.0.6:7006slots: (0 slots) slavereplicates 58869cf6dee60706154a5a3461c4687922e6ea60
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 4096
What is the receiving node ID? f1f7185e3f0a1096ad16b598005875e1b2d306cc
Please enter all the source node IDs.Type 'all' to use all the nodes as source nodes for the hash slots.Type 'done' once you entered all the source nodes IDs.
Source node #1: allReady to move 4096 slots.Source nodes:M: 58869cf6dee60706154a5a3461c4687922e6ea60 10.0.0.5:7003slots:[5461-10922] (5462 slots) master1 additional replica(s)M: 1a7a4d4168b0e3203f6c6c1e0a35351760f1bacf 10.0.0.4:7001slots:[0-5460] (5461 slots) master1 additional replica(s)M: 5f8f0c5c6b71615cc837cb1efe2997a35de45623 10.0.0.6:7005slots:[10923-16383] (5461 slots) master1 additional replica(s)Destination node:M: f1f7185e3f0a1096ad16b598005875e1b2d306cc 10.0.0.7:7007slots: (0 slots) master1 additional replica(s)Resharding plan:Moving slot 5461 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5462 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5463 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5464 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5465 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5466 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5467 from 58869cf6dee60706154a5a3461c4687922e6ea60Moving slot 5468 from 58869cf6dee60706154a5a3461c4687922e6ea60
......
Do you want to proceed with the proposed reshard plan (yes/no)? yes
Moving slot 5461 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5462 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5463 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5464 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5465 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5466 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5467 from 10.0.0.5:7003 to 10.0.0.7:7007:
Moving slot 5468 from 10.0.0.5:7003 to 10.0.0.7:7007:
......

查看集群节点

添加slave节点

相比于添加 master 节点,添加 slave 节点则不需要分配 slot,只需执行命令 redis-cli --cluster add-node 10.0.0.7:7008 10.0.0.4:7001 --cluster-s lave f1f7185e3f0a1096ad16b598005875e1b2d306cc 即可。

删除节点

删除master节点

因为 master 节点是分配了 slot 的,所以删除节点之前需要把 solt 移动到其他 master 节点上去,也就行执行 reshard 操作,否则数据会丢失。

然后执行命令 redis-cli --cluster del-node ip:prot 删除节点。

删除slave节点

相比于删除 master 节点,删除 slave 节点直接删除即可。

redis cluster如何添加和删除节点?相关推荐

  1. redis cluster中添加删除重分配节点例子

    redis cluster中添加删除重分配节点例子 作者:用户 来源:互联网 时间:2016-05-05 10:22:27 摘要: 本文讲的是redis cluster中添加删除重分配节点例子, re ...

  2. JavaScript学习笔记:创建、添加与删除节点

    JavaScript学习笔记:创建.添加与删除节点 文章目录 JavaScript学习笔记:创建.添加与删除节点 一.DOM对象节点类型 二.创建节点 1.创建元素节点 2.创建文本节点 3.创建属性 ...

  3. 如何在 SQL Server 2005 故障转移群集中添加或删除节点(安装程序)

    如何在 SQL Server 2005 故障转移群集中添加或删除节点(安装程序) 使用此过程管理 Microsoft SQL Server 2005 故障转移群集实例中的节点. 重要提示: 若要更新或 ...

  4. JS中创建、添加、删除节点

    createElement():创建节点 appendChild():添加节点(还有一个很相似的 inertBefore():插入节点,两个参) removeChild():删除节点 <!DOC ...

  5. 红黑树添加和删除节点原理

    红黑树添加和删除原理 一.概念 二.特性 三.应用 四.基本操作--插入 1.简介 2.插入规则 3.红黑树插入的4种情形 4.插入图例 五.基本操作--删除 1.红黑树删除的情形 2.插入图例 转载 ...

  6. js添加多个子节点_js添加和删除节点, 方法调用是通过子节点中的节点来添加的呢。...

    html> new document 学号 姓名 操作 xh001 王小明 删除 xh002 刘小芳 删除 var table = document.getElementById("t ...

  7. Flex使用mx:Tree控件创建树(可添加和删除节点)

    Flex使用<mx:Tree>控件创建树的在线运行效果见:http://tongqiuyan.blog.163.com/blog/static/1955453022011927102332 ...

  8. 数据结构Java07【二叉排序树(添加查找删除-节点)】

    学习地址:[数据结构与算法基础-java版]                  

  9. Redis Cluster节点添加/删除实录

    Redis还是挺好玩的,今天测试了集群的添加.删除节点.重分配slot等.更深入的理解redis的游戏规则.步骤繁多,但是详细. 环境解释: 我是在一台Centos 6.9上测试的,各个redis节点 ...

最新文章

  1. AI时代的中层支柱:统计学
  2. ORACLE sqlplus set 命令速查
  3. 青岛农商银行计算机防病毒应用培训,青岛农商银行胶州支行多元化培训提升安防管理水平...
  4. Hadoop (HDFS)分布式文件系统基本操作
  5. 深度学习入门读书笔记—全
  6. C#winform遍历控件判断控件类型
  7. Sql Update Alter Rename
  8. 【以太坊开发】发币指南--进阶篇
  9. mysql建表注意事项,关键字和保留字不能作为表名
  10. CANoe+Carmaker联合仿真测试
  11. OpenGL超级宝典(第7版)笔记7 细分曲面初介绍 清单3.7-3.8
  12. 【Linux】gvim封装至gvi命令
  13. java获取和风天气_和风天气(一)数据分析
  14. python 求某月的天数
  15. BFC是什么?BFC可以做什么?
  16. Linux基础-apt-搜狗输入法
  17. 一个人在家简单吃点小火锅,搭配点小海鲜
  18. 使用python异步框架aiohttp从NASA抓取火星图片
  19. linux vim取消加密,linux 使用vim文件加密/解密的方法
  20. go testing测试

热门文章

  1. NGS_RNA-Seq
  2. UserData使用总结
  3. 简介公开密钥算法和证书生成
  4. Java DecimalFormat 格式化数字,取2位小数,按位取小数,按要求格式化小数 float,double,int,等类型都支持
  5. PMI-ACP练习题(23)
  6. 2017年6月大学英语六级真题(第一套)汉译英(每日一摸)
  7. 强化学习系列7:无模型的蒙特卡洛法
  8. 前端实习生400字周记
  9. 轻轻松松磁盘整理巧用UltimateDefrag软件
  10. 好用的磁碟重組工具 - UltimateDefrag