redis cluster搭建实践(非常详细,值得收藏)
一、RedisCluster(Redis集群)简介
redis是一个开源的keyvalue存储系统 , 受到了广大互联网公司的青睐 。 redis集群采用P2P模式 , 是完全去中心化的 , 不存在中心节点或者代理节点;redis集群是没有统一的入口的 , 客户端(client)连接集群的时候连接集群中的任意节点(node)即可 , 集群内部的节点是相互通信的(PING-PONG机制) , 每个节点都是一个redis实例;为了实现集群的高可用 , 即判断节点是否健康(能否正常使用) , redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了 , 那么这个节点就挂了(fail) 。 这是判断节点是否挂了的方法;那么如何判断集群是否挂了呢?->如果集群中任意一个节点挂了 , 而且该节点没有从节点(备份节点) , 那么这个集群就挂了 。 这是判断集群是否挂了的方法;那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢?->因为集群内置了16384个slot(哈希槽) , 并且把所有的物理节点映射到了这16384[0-16383]个slot上 , 或者说把这些slot均等的分配给了各个节点 。 当需要在Redis集群存放一个数据(key-value)时 , redis会先对这个key进行crc16算法 , 然后得到一个结果 。 再把这个结果对16384进行求余 , 这个余数会对应[0-16383]其中一个槽 , 进而决定key-value存储到哪个节点中 。 所以一旦某个节点挂了 , 该节点对应的slot就无法使用 , 那么就会导致集群无法正常工作 。 综上所述 , 每个Redis集群理论上最多可以有16384个节点 。二、集群搭建需要的环境2.1Redis集群至少需要3个节点 , 因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了 , 所以2个节点无法构成集群 。
2.2要保证集群的高可用 , 需要每个节点都有从节点 , 也就是备份节点 , 所以Redis集群至少需要6台服务器 。 因为我没有那么多服务器 , 也启动不了那么多虚拟机 , 所在这里搭建的是伪分布式集群 , 即一台服务器虚拟运行6个redis实例 , 修改端口号为(7001-7006) , 当然实际生产环境的Redis集群搭建和这里是一样的 。 2.3安装ruby三、集群搭建具体步骤如下(注意要关闭防火墙)3.1在usr/local目录下新建redis-cluster目录 , 用于存放集群节点
./redis-trib.rbcreate--replicas147.106.219.251:700147.106.219.251:700247.106.219.251:700347.106.219.251:700447.106.219.251:700547.106.219.251:7006注意:此处大家应该根据自己的服务器ip输入对应的ip地址!
redis01/redis-cli-p7001-c注意:一定要加上-c , 不然节点之间是无法自动跳转的!如下图可以看到 , 存储的数据(key-value)是均匀分配到不同的节点的:
clusterinfo【redis cluster搭建实践(非常详细,值得收藏)】2.查看集群里有多少个节点
clusternodes
推荐阅读
- 杨利伟|杨利伟称新空间站搭建将仍由“老航天员”完成,新航天员负责运营
- 北大荒集团|搭建大棚 备农资 黑龙江北大荒垦区积极备战春耕
- 尿毒症|仁心妙术 为尿毒症患者搭建“生命通路”
- 工人日报|快递企业加快搭建防火墙 专家:技术易得 “内鬼”难防
- 新华网|中国代表:维护伊核全面协议 搭建多边对话平台
- 精细化工产业对接会:聚焦石化产业链延伸 搭建合作平台
- 腾讯布局医学科普:用科技向善搭建通往未来的桥梁
- |如何搭建领导想要的管理驾驶舱,这篇方法论值得收藏
- 南沙金融搭建投融资对接平台,私募基金企业约占全市1/5
- “中欧专列”搭建发展新桥梁
