ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis集群

2022-03-21 22:06:11  阅读:146  来源: 互联网

标签:43.55 Redis redis 192.168 cluster 集群 节点


Redis集群

是什么

Redis集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N.

Redis集群通过分区来提供一定程度的可用性:即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求

 

实现步骤

  1. 删除持久化数据 将rdb,aof文件都删除掉

  2. 制作6个实例,6379,6382,6381,6389,6390,6391 (集群搭建至少要3个主节点)

  3. 配置基本信息

    include /myredis/redis.conf pidfile "/var/run/redis_6379.conf" port 6379 dbfilename "dump6379.rdb" cluster-enabled yes 打开集群模式 cluster-config-file nodes-6379.conf 设置节点配置文件名 cluster-node-timeout 15000 设定节点失联时间,超过改时间(毫秒),集群自动进行主从切换

  4. 拷贝多份配置文件,并进行相关修改

  5. 启动6个redis服务

  1. 将6个节点合成一个集群,组合之前,请确保所有redis实例启动后,nodes-xxx.conf文件都生成正常

    注:低版本要先需要安装ruby,再使用以下命令进行合成

    ./redis-trib.rb create --replicas 1 192.168.43.55:6379 192.168.43.55:6380 192.168.43.55:6381 192.168.43.55:6389 192.168.43.55:6390 192.168.43.55:6391

    高版本,在/redis x.x.x/src中的redis-cli内置了ruby环境

    redis-cli --cluster create --cluster-replicas 1 192.168.43.55:6379 192.168.43.55:6380 192.168.43.55:6381 192.168.43.55:6389 192.168.43.55:6390 192.168.43.55:6391

  1. 使用redis-cli -c -p 6379连接到一台主机

  2. 使用 cluster nodes查看集群信息

     

     

什么是slot

一个Redis集群中包含16384个插槽(hashsolt),数据库中的每个键都属于这16384个插槽的其中一个。

举个例子,如果一个集群有三个主节点:

节点A负责处理0号至5460号插槽

节点B负责处理5461号至10922号插槽

节点C负责处理10923号至16383号插槽

 

故障恢复

如果某一段插槽的主节点down掉,那么它的从节点升级为主节点,待主节点重新连接上后,它则变为从节点。

如果某一段插槽的主节点和从节点一起down,则根据配置决定

  • cluster-require-full-coverage为yes,那么,整个集群都down掉

  • cluster-require-full-coverage为no,那么,该段插槽数据都不能使用,也无法存储

 

优势

  • 实现扩容

  • 分摊压力

  • 无中心化配置相对简单

劣势

  • 多键操作是不被支持的

  • 多键的Redis事务是不被支持的

标签:43.55,Redis,redis,192.168,cluster,集群,节点
来源: https://www.cnblogs.com/czhai/p/16036836.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有