redis集群模式

文档

  1. redis单机安装
  2. redis常用的五种数据类型
  3. redis数据类型-位图bitmap
  4. redis数据类型-基数统计HyperLogLog
  5. redis数据类型-地理空间GEO
  6. redis数据类型-流Stream
  7. redis数据类型-位域bitfield
  8. redis持久化-RDB
  9. redis持久化-AOF
  10. redis持久化-RDB+AOF混合模式
  11. redis持久化-纯缓存模式
  12. redis事务
  13. redis管道 -redis pipeline -redis pipelining
  14. redis发布订阅
  15. redis主从复制
  16. redis哨兵模式
  17. redis集群模式 -分区算法
  18. redis集群模式 -集群搭建

官方文档

  1. 官网操作命令指南页面:https://redis.io/docs/latest/commands/?name=get&group=string
  2. Redis cluster specification

说明

  1. redis版本:7.0.0

redis集群模式-节点故障

主节点故障
  1. 主节点故障,该主节点对应的从节点会升级为主节点

  2. 模拟主节点故障

    1. 查看当前集群节点信息:cluster nodes

      127.0.0.1:6379> cluster nodes
      a05bb419996d657b23d7fa405b17f85b7191391b 192.168.145.133:6380@16380 master - 0 1755183700000 3 connected 5461-10922
      b15ba2a55dec014b8f75bece670d436fa6e21c00 192.168.145.133:6383@16383 slave 40dc7e1b9489a63c945f35037fbdc782e55fc163 0 1755183700000 1 connected
      8ed3140019b6dcc2540488c6a29e49d260c09e57 192.168.145.134:6381@16381 slave b0837bac5c46ce3fcc6d89fc3220cbf03b8d71a9 0 1755183701000 7 connected
      b0837bac5c46ce3fcc6d89fc3220cbf03b8d71a9 192.168.145.132:6382@16382 master - 0 1755183701000 7 connected 10923-16383
      47b66a60fb4c0882cfd6da3040bcb5c237ace417 192.168.145.134:6384@16384 slave a05bb419996d657b23d7fa405b17f85b7191391b 0 1755183700973 3 connected
      40dc7e1b9489a63c945f35037fbdc782e55fc163 192.168.145.132:6379@16379 myself,master - 0 1755183700000 1 connected 0-5460
      
    2. 实际节点的主从关系

      master:192.168.145.132:6379,slave:192.168.145.133:6383

      master:192.168.145.133:6380,slave:192.168.145.134:6384

      master:192.168.145.132:6382,slave:192.168.145.134:6381

    3. 找到其中一个主节点,以192.168.145.132:6382为例,执行下线操作

      127.0.0.1:6382> shutdown
      
    4. 查看主从关系,会发现,192.168.145.132:6382节点被标记为fail,同时,原来该节点的从节点192.168.145.134:6381升级为主节点

      127.0.0.1:6379> cluster nodes
      a05bb419996d657b23d7fa405b17f85b7191391b 192.168.145.133:6380@16380 master - 0 1755184492733 3 connected 5461-10922
      b15ba2a55dec014b8f75bece670d436fa6e21c00 192.168.145.133:6383@16383 slave 40dc7e1b9489a63c945f35037fbdc782e55fc163 0 1755184491597 1 connected
      8ed3140019b6dcc2540488c6a29e49d260c09e57 192.168.145.134:6381@16381 master - 0 1755184492000 8 connected 10923-16383
      b0837bac5c46ce3fcc6d89fc3220cbf03b8d71a9 192.168.145.132:6382@16382 master,fail - 1755184482439 1755184480579 7 disconnected
      47b66a60fb4c0882cfd6da3040bcb5c237ace417 192.168.145.134:6384@16384 slave a05bb419996d657b23d7fa405b17f85b7191391b 0 1755184492217 3 connected
      40dc7e1b9489a63c945f35037fbdc782e55fc163 192.168.145.132:6379@16379 myself,master - 0 1755184491000 1 connected 0-5460
      
节点恢复
  1. 当主节点下线后,原来该主节点对应的从节点会升级为主节点,下线的主节点恢复后,会变为从节点

  2. 模拟节点恢复

    1. 原来shutdown的主节点192.168.145.132:6382,重新启动,恢复服务

      ./redis-server /opt/module/redis/myredis-cluster-6382/redis-cluster-6382.conf
      
    2. 查看主从关系,会发现,当前节点192.168.145.132:6382成为了192.168.145.134:6381节点的从节点

      127.0.0.1:6382> cluster nodes
      a05bb419996d657b23d7fa405b17f85b7191391b 192.168.145.133:6380@16380 master - 0 1755184934428 3 connected 5461-10922
      8ed3140019b6dcc2540488c6a29e49d260c09e57 192.168.145.134:6381@16381 master - 0 1755184935457 8 connected 10923-16383
      47b66a60fb4c0882cfd6da3040bcb5c237ace417 192.168.145.134:6384@16384 slave a05bb419996d657b23d7fa405b17f85b7191391b 0 1755184933000 3 connected
      b0837bac5c46ce3fcc6d89fc3220cbf03b8d71a9 192.168.145.132:6382@16382 myself,slave 8ed3140019b6dcc2540488c6a29e49d260c09e57 0 1755184934000 8 connected
      b15ba2a55dec014b8f75bece670d436fa6e21c00 192.168.145.133:6383@16383 slave 40dc7e1b9489a63c945f35037fbdc782e55fc163 0 1755184934121 1 connected
      40dc7e1b9489a63c945f35037fbdc782e55fc163 192.168.145.132:6379@16379 master - 0 1755184933396 1 connected 0-5460
      
节点主从调整
  1. 当主节点下线后,原来该主节点对应的从节点会升级为主节点,下线的主节点再次上线后,会变为从节点

  2. 主节点下线后再次恢复,会改变主从节点的角色,如果要恢复最原始状态,可以在原来的主节点192.168.145.132:6382,也就是现在的从节点上,执行下面的命令

    127.0.0.1:6382> cluster failover
    OK
    
  3. 查看主从关系,会发现,主从节点已经调换过来

    127.0.0.1:6382> cluster nodes
    a05bb419996d657b23d7fa405b17f85b7191391b 192.168.145.133:6380@16380 master - 0 1755185672569 3 connected 5461-10922
    8ed3140019b6dcc2540488c6a29e49d260c09e57 192.168.145.134:6381@16381 slave b0837bac5c46ce3fcc6d89fc3220cbf03b8d71a9 0 1755185671032 9 connected
    47b66a60fb4c0882cfd6da3040bcb5c237ace417 192.168.145.134:6384@16384 slave a05bb419996d657b23d7fa405b17f85b7191391b 0 1755185671000 3 connected
    b0837bac5c46ce3fcc6d89fc3220cbf03b8d71a9 192.168.145.132:6382@16382 myself,master - 0 1755185672000 9 connected 10923-16383
    b15ba2a55dec014b8f75bece670d436fa6e21c00 192.168.145.133:6383@16383 slave 40dc7e1b9489a63c945f35037fbdc782e55fc163 0 1755185673077 1 connected
    40dc7e1b9489a63c945f35037fbdc782e55fc163 192.168.145.132:6379@16379 master - 0 1755185672057 1 connected 0-5460
    
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐