Tendis热扩容热搬迁slot示范
安装、搭建三主三从集群等参考我的另一篇博客:https://blog.csdn.net/HumorChen99/article/details/112823945
热扩容,加节点slot再分配演示
-
复制两份节点目录,删除home目录以及子目录,修改第一份在3007端口跑,修改第二份在3008端口跑,启动3007节点3008节点
-
设置3008为3007的从数据库
root@ubuntu:/usr/local/share/tendisplus-2.1.2-rocksdb-v5.13.4/scripts3008# redis-cli -h 192.168.108.148 -p 3001 192.168.108.148:3001> cluster nodes 8d923112d81409e7eb54ef8237b1d8c9d31f17c4 192.168.108.148:3007@13007 master - 0 1611191516000 0 connected 4c9a29f65df0a513f02a9efcd7511c87be67a293 192.168.108.148:3006@13006 slave 1e30390ffbfec5d14d44096e59443aa6b87c2f84 0 1611191518171 5 connected 1e30390ffbfec5d14d44096e59443aa6b87c2f84 192.168.108.148:3005@13005 master - 0 1611191517167 4 connected 10923-16383 57f24f7b38b59125833ad249d4d3c6be0a7c77a8 192.168.108.148:3008@13008 master - 0 1611191519175 8 connected 535f0efa0e13d9c4e87ac3d80f6fec195bbafb12 192.168.108.148:3001@13001 myself,master - 0 1611191518000 7 connected 0-5461 3d4bd72dd7271b541b575817a66184c4d1aa1ce0 192.168.108.148:3003@13003 slave 516f486e6f11a43fa4d46a513e08d4e0dea0f217 0 1611191516163 6 connected 0dca64228ec2d47675ebdf9501f9c6cad589fbc1 192.168.108.148:3002@13002 slave 535f0efa0e13d9c4e87ac3d80f6fec195bbafb12 0 1611191518000 7 connected 516f486e6f11a43fa4d46a513e08d4e0dea0f217 192.168.108.148:3004@13004 master - 0 1611191515000 6 connected 5462-10922 192.168.108.148:3001> root@ubuntu:/usr/local/share/tendisplus-2.1.2-rocksdb-v5.13.4/scripts3008# redis-cli -h 192.168.108.148 -p 3008 cluster replicate 8d923112d81409e7eb54ef8237b1d8c9d31f17c4 OK
-
给3007分配slot,从3005那分一部分slot到3007去
1e30390ffbfec5d14d44096e59443aa6b87c2f84是3005的ID,可以从cluster nodes查看到
{14000,16000}是要从3005导入的slot的集合
root@ubuntu:/usr/local/share/tendisplus-2.1.2-rocksdb-v5.13.4/scripts3008# redis-cli -h 192.168.108.148 -p 3007 cluster setslot importing 1e30390ffbfec5d14d44096e59443aa6b87c2f84 {14000,16000} "8d923112d81409e7eb54ef8237b1d8c9d31f17c4-0"
-
查看搬迁的结果
查看3007节点的
root@ubuntu:/usr/local/share/tendisplus-2.1.2-rocksdb-v5.13.4/scripts3008# redis-cli -h 192.168.108.148 -p 3007 cluster setslot info 1) "importing taskid:" 2) "importing slots: " 3) "success import slots: 14000 16000 " 4) "fail import slots: " 5) "running receiver task num:0" 6) "success receiver task num:1" 7) "fail receiver task num:0"
查看3005节点的
root@ubuntu:/usr/local/share/tendisplus-2.1.2-rocksdb-v5.13.4/scripts3008# redis-cli -h 192.168.108.148 -p 3005 cluster setslot info 1) "migrating taskid:" 2) "migrating slots: " 3) "success migrate slots: 14000 16000 " 4) "fail migrate slots: " 5) "running sender task num:0" 6) "success sender task num:1" 7) "fail sender task num:0"
- 搬迁成功
本文来自博客园,作者:HumorChen99,转载请注明原文链接:https://www.cnblogs.com/HumorChen/p/18039666
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~