redis cluster 添加 删除 重分配 节点

从想法到零件:手把手拆解一个汽车功能如何从PRD写到SSTS和CTS 本文详细拆解了汽车电子需求从市场文档(MRD)到零部件技术规范(CTS)的完整流程,以雨天自动关窗功能为例,展示了PRD、SSTS和CTS的编写要点与交互设计。文章重点解析了系统分解的艺术和零部件落地的精确参数要求,为汽车电子工程师提供了从概念到实现的全流程实践指南。 阅读详情

edis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢。

一,redis cluster命令行

  1. //集群(cluster)  
  2. CLUSTER INFO 打印集群的信息  
  3. CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。   
  4.   
  5. //节点(node)  
  6. CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。  
  7. CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。  
  8. CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。  
  9. CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。   
  10.   
  11. //槽(slot)  
  12. CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。  
  13. CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。  
  14. CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。  
  15. CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。  
  16. CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。  
  17. CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。  
  18. CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。   
  19.   
  20. //键 (key)  
  21. CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。  
  22. CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。  
  23. CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。  

这些命令是集群所独有的。执行上述命令要先登录

  1. [root@manage redis]# redis-cli -c -p 6382 -h 192.168.10.220    //登录  
  2. 192.168.10.220:6382> cluster info   //查看集群情况  
  3. cluster_state:ok  
  4. cluster_slots_assigned:16384  
  5. cluster_slots_ok:16384  
  6. cluster_slots_pfail:0  
  7. cluster_slots_fail:0  
  8. cluster_known_nodes:6  
  9. cluster_size:3  
  10. cluster_current_epoch:8  
  11. cluster_my_epoch:4  
  12. cluster_stats_messages_sent:82753  
  13. cluster_stats_messages_received:82754  

二,添加节点

1,新配置二个测试节点

  1. # cd /etc/redis  
  2.   
  3. //新增配置  
  4. # cp redis-6379.conf redis-6378.conf && sed -i "s/6379/6378/g" redis-6378.conf  
  5. # cp redis-6382.conf redis-6385.conf && sed -i "s/6382/6385/g" redis-6385.conf  
  6.   
  7. //启动  
  8. # redis-server /etc/redis/redis-6385.conf > /var/log/redis/redis-6385.log 2>&1 &  
  9. # redis-server /etc/redis/redis-6378.conf > /var/log/redis/redis-6378.log 2>&1 &  

2,添加主节点

  1. # redis-trib.rb add-node 192.168.10.219:6378 192.168.10.219:6379  

注释:

192.168.10.219:6378是新增的节点

192.168.10.219:6379集群任一个旧节点

3,添加从节点

  1. # redis-trib.rb add-node --slave --master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2 192.168.10.220:6385 192.168.10.219:6379  

注释:

--slave,表示添加的是从节点

--master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2,主节点的node id,在这里是前面新添加的6378的node id

192.168.10.220:6385,新节点

192.168.10.219:6379集群任一个旧节点

注:我们也可以通过 CLUSTER MEET 命令将上面的主节点加入到集群中。大概步骤为:

# redis-cli -c -h 10.70.27.10 -p 7000

> CLUSTER MEET 192.168.10.219 6378

新加入的节点都是主节点,因为没有负责槽位,所以不能接受任何读写操作,对于新加入的节点,我们可以有两个操作:

  • 为新节点迁移槽和数据实现扩容,就像下面的第4步那样。
  • 作为其他主节点的从节点负责故障转移。

4,重新分配slot

  1. # redis-trib.rb reshard 192.168.10.219:6378 //下面是主要过程  
  2.   
  3. How many slots do you want to move (from 1 to 16384)? 1000 //设置slot数1000  
  4. What is the receiving node ID? 03ccad2ba5dd1e062464bc7590400441fafb63f2 //新节点node id  
  5. Please enter all the source node IDs.  
  6.  Type 'all' to use all the nodes as source nodes for the hash slots.  
  7.  Type 'done' once you entered all the source nodes IDs.  
  8. Source node #1:all //表示全部节点重新洗牌  
  9. Do you want to proceed with the proposed reshard plan (yes/no)? yes //确认重新分  

新增加的主节点,是没有slots的,

M: 03ccad2ba5dd1e062464bc7590400441fafb63f2 192.168.10.219:6378
slots:0-332,5461-5794,10923-11255 (0 slots) master

主节点如果没有slots的话,存取数据就都不会被选中。

可以把分配的过程理解成打扑克牌,all表示大家重新洗牌;输入某个主节点的node id,然后在输入done的话,就好比从某个节点,抽牌。

5,查看一下,集群情况

  1. [root@slave2 redis]# redis-trib.rb check 192.168.10.219:6379  
  2. Connecting to node 192.168.10.219:6379: OK  
  3. Connecting to node 192.168.10.220:6385: OK  
  4. Connecting to node 192.168.10.219:6378: OK  
  5. Connecting to node 192.168.10.220:6382: OK  
  6. Connecting to node 192.168.10.220:6383: OK  
  7. Connecting to node 192.168.10.219:6380: OK  
  8. Connecting to node 192.168.10.219:6381: OK  
  9. Connecting to node 192.168.10.220:6384: OK  
  10. >>> Performing Cluster Check (using node 192.168.10.219:6379)  
  11. M: 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052 192.168.10.219:6379  
  12.  slots:5795-10922 (5128 slots) master  
  13.  1 additional replica(s)  
  14. S: 9c240333476469e8e2c8e80b089c48f389827265 192.168.10.220:6385  
  15.  slots: (0 slots) slave  
  16.  replicates 03ccad2ba5dd1e062464bc7590400441fafb63f2  
  17. M: 03ccad2ba5dd1e062464bc7590400441fafb63f2 192.168.10.219:6378  
  18.  slots:0-332,5461-5794,10923-11255 (1000 slots) master  
  19.  1 additional replica(s)  
  20. M: 19b042c17d2918fade18a4ad2efc75aa81fd2422 192.168.10.220:6382  
  21.  slots:333-5460 (5128 slots) master  
  22.  1 additional replica(s)  
  23. M: b2c50113db7bd685e316a16b423c9b8abc3ba0b7 192.168.10.220:6383  
  24.  slots:11256-16383 (5128 slots) master  
  25.  1 additional replica(s)  
  26. S: 6475e4c8b5e0c0ea27547ff7695d05e9af0c5ccb 192.168.10.219:6380  
  27.  slots: (0 slots) slave  
  28.  replicates 19b042c17d2918fade18a4ad2efc75aa81fd2422  
  29. S: 1ee01fe95bcfb688a50825d54248eea1e6133cdc 192.168.10.219:6381  
  30.  slots: (0 slots) slave  
  31.  replicates b2c50113db7bd685e316a16b423c9b8abc3ba0b7  
  32. S: 9a2a1d75b8eb47e05eee1198f81a9edd88db5aa1 192.168.10.220:6384  
  33.  slots: (0 slots) slave  
  34.  replicates 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052  
  35. [OK] All nodes agree about slots configuration.  
  36. >>> Check for open slots...  
  37. >>> Check slots coverage...  
  38. [OK] All 16384 slots covered.  

三,改变从节点的master

  1. //查看一下6378的从节点  
  2. # redis-cli -p 6378 cluster nodes | grep slave | grep 03ccad2ba5dd1e062464bc7590400441fafb63f2  
  3.   
  4. //将6385加入到新的master  
  5. # redis-cli -c -p 6385 -h 192.168.10.220  
  6. 192.168.10.220:6385> cluster replicate 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052  //新master的node id  
  7. OK  
  8. 192.168.10.220:6385> quit  
  9.   
  10. //查看新master的slave  
  11. # redis-cli -p 6379 cluster nodes | grep slave | grep 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052  

四,删除节点

1,删除从节点

  1. # redis-trib.rb del-node 192.168.10.220:6385 '9c240333476469e8e2c8e80b089c48f389827265'  

2,删除主节点

如果主节点有从节点,将从节点转移到其他主节点

如果主节点有slot,去掉分配的slot,然后在删除主节点

  1. # redis-trib.rb reshard 192.168.10.219:6378 //取消分配的slot,下面是主要过程  
  2.   
  3. How many slots do you want to move (from 1 to 16384)? 1000 //被删除master的所有slot数量  
  4. What is the receiving node ID? 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052 //接收6378节点slot的master  
  5. Please enter all the source node IDs.  
  6.  Type 'all' to use all the nodes as source nodes for the hash slots.  
  7.  Type 'done' once you entered all the source nodes IDs.  
  8. Source node #1:03ccad2ba5dd1e062464bc7590400441fafb63f2 //被删除master的node-id  
  9. Source node #2:done   
  10.   
  11. Do you want to proceed with the proposed reshard plan (yes/no)? yes //取消slot后,reshard  

新增master节点后,也进行了这一步操作,当时是分配,现在去掉。反着的。

  1. # redis-trib.rb del-node 192.168.10.219:6378 '03ccad2ba5dd1e062464bc7590400441fafb63f2'  

新的master节点被删除了,这样就回到了,就是这篇文章开头,还没有添加节点的状态

【毕设级教程】从0到1实现基于YOLOv8的UA-DETRAC交通目标检测系统(含UI界面,助力智能交通毕设) 本项目基于YOLOv8模型和UA-DETRAC数据集开发了一个交通目标检测系统,包含数据处理、模型训练和可视化界面全流程。UA-DETRAC数据集包含多种交通场景下的车辆标注,通过格式转换适配YOLOv8训练要求。系统采用PyQt开发交互界面,支持图像检测、结果显示等功能。该项目技术路线清晰,既展现深度学习在智能交通中的应用,又提供完整的可视化展示方案,适合作为计算机视觉相关毕业设计选题。 阅读详情

相关推荐

MATLAB 论文复现——含氢综合能源系统多目标最优折中分布鲁棒低碳调度

提出基于多目标决策理论和逼近理想解排序技术,构造综合考虑系统调度的经济性、低碳性和鲁棒度的多目标最优折中函数,从而建立含氢综合能源系统多目标最优折中分布鲁棒低碳调度模型,可快速准确地获得兼具经济性、低碳性和鲁棒性的含氢综合能源系统优化调度方案。[1]孙惠娟,胡紫平,彭春华,等.含氢综合能源系统多目标最优折中分布鲁棒低碳调度[J/OL].电力自动化设备,1-13[2024-07-26].https://doi.org/10.16081/j.epae.202406003.关键词: 综合能源系统;

sjr1478的博客 410

redis集群搭建

redis集群搭建

weixin_45999801的博客 1016

深入MIPI DSI显示技术栈 (三) DSI vs CSI-2:孪生协议的本质差异

MIPI协议中的DSI与CSI-2存在本质差异:DSI为输出导向协议(Host→Display),用于屏幕控制和画面传输;CSI-2为输入导向协议(Sensor→Host),专攻图像采集。二者在包结构、同步机制、物理层优化等方面均有显著区别:DSI支持命令包和BLLP包,CSI-2具备嵌入式数据包;DSI时钟模式以Burst为主,CSI-2支持Continuous模式。典型场景中,二者协同工作(如手机相机预览),需注意时序同步和延迟控制。设计混合系统时,需合理规划虚拟通道和物理层资源,充分发挥这对&quot

GateWorld的博客 2106

redis集群的维护(redis-cli --cluster 命令用法)

1、 --cluster create 创建集群 2、--cluster check检查集群 3、--cluster info 查看集群 4、--cluster fix 修复集群 5、--cluster rehard 迁移槽位 6、 --cluster rebalance 平衡集群 7、 --clusteradd-node 集群扩容 8、--cluster del-node 集群缩容 9、 --cluster call 在集群中执行命令 10、--cluste

cj_eryue的博客 1万+

librealsense2 camera.so: undefined symbol:ZN2cV3MatC1EV解决笔记记录

先参考的这个兄弟的办法虽然没解决但是提供了大方向感谢; realsenseD400系列相机报错:undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE解决方案 后解决办法参考 No GPU usage on jetson xavier NX · Issue #2326 · IntelRealSense/realsense-ros · GitHubOpenCV_DIR" to a directory containing one of the above f

梁俊星的博客 3515

基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

参考书目W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Without Stress and Strain.E.Madenci, A.Barut, M.Dorduncu. Peridynamic Differential Operator for Numerical ...

weixin_39764603的博客 1202

redis - cluster命令

一、redis cluster命令行 //集群(cluster) CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 //节点(node) CLUSTER MEET 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。 CLUSTER FORGET 从集

mysuppper的专栏 1174

车载机器人终极解决方案:从功能叠加到生态融合的颠覆性变革

本文提出一种融合智能汽车与家居技术的车载机器人架构。其创新点包括:1)基于多模态传感器的拟人化硬件设计,实现声源定位误差<5°、体温检测精度±0.3℃;2)跨模态情感计算引擎,综合面部表情、心率等数据构建三维情绪模型;3)协议自适应中间件,支持小米、华为等多品牌智能家居设备即插即用;4)环境自适应舵机控制,-30℃环境下扭矩保持率达92.5%。测试数据显示,该方案使交互步骤减少60%,用户满意度提升58%,日均使用时长增加2.3倍,为"人-车-家"生态融合提供了可行技术路径。

qq_42671193的博客 1124

Redis集群添加和删除节点(主和从)

一、原始集群(6个节点,3主3从): (1)启动集群:因为集群创建一次就行,所以直接启动所有节点服务即可 [root@Master ~]# /usr/local/redis/bin/redis-server /usr/local/redis-cluster/7001/redis.conf [root@Master ~]# /usr/local/redis/bin/redis-server ...

Howinfun的博客 8468

非技术面试题精选大全

回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业喜欢有礼貌的求职者。

吃面爱放香菜的博客 435

[EdgeAI] NXP eIQ 机器学习Toolkit (一):准备篇

eIQ™机器学习(ML)软件开发环境支持在恩智浦EdgeVerse™微控制器和微处理器(包括i.MX RT跨界MCU和i.MX系列应用处理器)上使用ML算法。eIQ ML软件包括称为eIQ Toolkit的ML工作流工具以及推理引擎、神经网络编译器和优化库。............

HowieXue 薛永浩的博客 1万+

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

redis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢。 一,redis cluster命令行 //集群(cluster) CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 //节点(node) CLUSTER MEET ...

weixin_30270889的博客 730

22、预条件技术:矩阵分解与多项式预条件器

本文系统介绍了预条件技术中的不完全分裂法、多项式预条件器和近似逆预条件器。内容涵盖矩阵分解的基本原理、不完全LU和Cholesky分解的实现方法、基于填充水平和阈值策略的改进技术,以及多项式和近似逆预条件器的数学基础与应用。通过算法流程图和表格对比,展示了各类预条件器的适用场景与优缺点,同时探讨了其在迭代求解中的关键作用和未来发展方向。

theta的博客 95

Redis集群cluster 节点 添加 删除 重分配

此博客主要是转载讲解redis集群中节点的添加和删除 redis集群请查看: http://blog.youkuaiyun.com/admin1973/article/details/58141575 redis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢。 一,redis cluster命令行 //集群(cluster) CLUSTER

admin1973的专栏 1076

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Redis】redis cluster 添加 删除 重分配 节点

一,redis cluster命令行 //集群(cluster) CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。 //节点(node) CLUSTER MEET <ip> <port> 将 ip 和 po...

weixin_34235371的博客 111

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Redis Cluster节点添加/删除实录

Redis还是挺好玩的,今天测试了集群的添加、删除节点、重分配slot等。更深入的理解redis的游戏规则。步骤繁多,但是详细。 环境解释: 我是在一台Centos 6.9上测试的,各个redis节点以端口号区分。文中针对各个redis,我只是以端口号代表。 <span style="color:#333333"><span style="color:b...

Jaylon Wang的专栏 220

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

redis 集群之动态添加redis节点,删除指定ID的redis节点,以及查看redis集群中各个节点的信息

redis cluster中添加删除重分配节点例子 redis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢。首先登陆上去redis集群内任意一个节点的client端 如:/usr/local/redis303/bin/redis-cli -c -h 192.168.1.108 -p 7713 进行登陆 192.168.1.108:7113> clus

shukebai的专栏 1万+
上一篇: Redis集群:集群常用命令及说明
下一篇: redis cluster 性能探讨
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值