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"
    
    • 搬迁成功
posted @ 2021-01-21 09:30  HumorChen99  阅读(0)  评论(0编辑  收藏  举报  来源