我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Redis集群节点的选举(实验)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Redis集群节点的选举(实验)

Redis集群节点的选举:

    当master挂掉之后,就会在该集群中的slave中选取一个来代替mater角色,

    从而保证redis集群slot的完整性。

    如果其中一个mster和它的slave都挂掉后,会导致slot不完整,整个集群都会挂掉。


集群节点信息:

    192.168.2.200:6379> cluster nodes

    3ff3a74f9dc41f8bc635ab845ad76bf77ffb0f69 192.168.2.201:6379 master - 0 1527145806504 5 connected 10923-16383

    2faf68564a70372cfc06c1afff197019cc6a39f3 192.168.2.201:6380 slave 3ff3a74f9dc41f8bc635ab845ad76bf77ffb0f69 0 1527145805495 5 connected

    227f51028bbe827f27b4e40ed7a08fcc7d8df969 192.168.2.200:6380 slave 098e7eb756b6047fde988ab3c0b7189e1724ecf5 0 1527145804485 4 connected

    5844b4272c39456b0fdf73e384ff8c479547de47 192.168.2.200:6379 myself,master - 0 0 3 connected 5461-10922

    7119dec91b086ca8fe69f7878fa42b1accd75f0f 192.168.2.100:6380 slave 5844b4272c39456b0fdf73e384ff8c479547de47 0 1527145802468 3 connected

    098e7eb756b6047fde988ab3c0b7189e1724ecf5 192.168.2.100:6379 master - 0 1527145803476 1 connected 0-5460


新建3个key:

    192.168.2.200:6379> set name zhangsan

    OK

    192.168.2.200:6379> set age 26

    -> Redirected to slot [741] located at 192.168.2.100:6379

    OK

    192.168.2.100:6379> set home beijing

    -> Redirected to slot [10814] located at 192.168.2.200:6379

    OK


模拟192.168.2.100:6379挂掉:

    # ps -ef |grep redis

        root      19023      1  0 15:05 ?        00:00:01 redis-server 192.168.2.100:6379 [cluster]

        root      19030      1  0 15:05 ?        00:00:01 redis-server 192.168.2.100:6380 [cluster]

        root      19127   2912  0 15:13 pts/0    00:00:00 grep --color=auto redis

    # kill 19023


查看集群节点状态:(可以看到集群中的一个slave的角色变成了master)

    # redis-trib.rb check 192.168.2.200:6379

    >>> Performing Cluster Check (using node 192.168.2.200:6379)

    M: 5844b4272c39456b0fdf73e384ff8c479547de47 192.168.2.200:6379

    slots:5461-10922 (5462 slots) master

    1 additional replica(s)

    M: 3ff3a74f9dc41f8bc635ab845ad76bf77ffb0f69 192.168.2.201:6379

    slots:10923-16383 (5461 slots) master

    1 additional replica(s)

    S: 2faf68564a70372cfc06c1afff197019cc6a39f3 192.168.2.201:6380

    slots: (0 slots) slave

    replicates 3ff3a74f9dc41f8bc635ab845ad76bf77ffb0f69

    M: 227f51028bbe827f27b4e40ed7a08fcc7d8df969 192.168.2.200:6380

    slots:0-5460 (5461 slots) master

    0 additional replica(s)

    S: 7119dec91b086ca8fe69f7878fa42b1accd75f0f 192.168.2.100:6380

    slots: (0 slots) slave

    replicates 5844b4272c39456b0fdf73e384ff8c479547de47

    [OK] All nodes agree about slots configuration.

    >>> Check for open slots...

    >>> Check slots coverage...

    [OK] All 16384 slots covered.


查看数据是否存在:

    # redis-cli -h 192.168.2.200 -p 6380 -c

        192.168.2.200:6380> keys *

        1) "age"


模拟恢复故障节点:

    # redis-server redis.conf


查看集群节点状态:(故障节点恢复后,是变成master还是slave?)

    # redis-trib.rb check 192.168.2.200:6379

    >>> Performing Cluster Check (using node 192.168.2.200:6379)

    M: 5844b4272c39456b0fdf73e384ff8c479547de47 192.168.2.200:6379

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

    M: 3ff3a74f9dc41f8bc635ab845ad76bf77ffb0f69 192.168.2.201:6379

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

    S: 2faf68564a70372cfc06c1afff197019cc6a39f3 192.168.2.201:6380

   slots: (0 slots) slave

   replicates 3ff3a74f9dc41f8bc635ab845ad76bf77ffb0f69

    M: 227f51028bbe827f27b4e40ed7a08fcc7d8df969 192.168.2.200:6380

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

    S: 7119dec91b086ca8fe69f7878fa42b1accd75f0f 192.168.2.100:6380

   slots: (0 slots) slave

   replicates 5844b4272c39456b0fdf73e384ff8c479547de47

    S: 098e7eb756b6047fde988ab3c0b7189e1724ecf5 192.168.2.100:6379

   slots: (0 slots) slave

   replicates 227f51028bbe827f27b4e40ed7a08fcc7d8df969

    [OK] All nodes agree about slots configuration.

    >>> Check for open slots...

    >>> Check slots coverage...

    [OK] All 16384 slots covered.


总结:master:192.168.2.100:6379 宕机后,

      slave:192.168.2.200:6380 代替了其位置,变成了master角色。

      当192.168.2.100:6379故障恢复后,并没有恢复到master的角色,

      而是充当了slave角色。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Redis集群节点的选举(实验)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

redis的cluster集群怎么进行选举

在Redis Cluster中,每个节点都有可能成为主节点或从节点。当一个主节点宕机或无法连接时,Redis Cluster会通过选举过程选择一个从节点作为新的主节点来接管服务。选举过程如下:当主节点宕机或无法连接时,将会触发选举过程。从
redis的cluster集群怎么进行选举
2024-04-09

redis集群中的节点怎么保证数据一致

为了使得集群在一部分节点下线或者无法与集群的大多数节点进行通讯的情况下, 仍然可以正常运作。 Redis 集群对节点使用了主从复制功能: 集群中的每个节点都有 1 个至 N 个复制品(replica), 其中一个复制品为主节点(master), 而其余的 N-
redis集群中的节点怎么保证数据一致
2018-04-03

MongoDB与云计算的融合实践:从单节点到分布式集群

近年来,云计算技术的快速发展和普及,为企业带来了革命性的数据处理方式和存储方案。而在云计算之中,NoSQL 数据库 MongoDB 也备受青睐,其支持高并发、可伸缩性好等特点,使其广受欢迎。但是,单节点 MongoDB 实例仅能满足小规模应
MongoDB与云计算的融合实践:从单节点到分布式集群
2023-11-02

编程热搜

目录