Redis-Cluster集群搭建及配置

前言

在上一篇文章中队redis进行了简单的介绍和安装,在这一篇文章中进行一个redis-Cluster的集群搭建。

Redis-Cluster介绍

redis-cluster架构设计

这里写图片描述
架构细节:

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->key

(5)Redis集群预分好16384个桶,当需要在 Redis 集群中放置一个 key-value 时,根据 CRC16(key) mod 16384的值,决定将一个key放到哪个桶中。

集群搭建

    Redis集群中要求奇数节点,所以至少要有三个节点,并且每个节点至少有一备份节点,所以需要6台服务器。这里我在一个服务器中使用了6个节点。

搭建

    1.在user/local路径下新建文件夹redis-cluster,复制redis(简单的介绍和安装文章中安装的redis) 到这个路径下

#创建redis-cluster
mkdir redis-cluster
#将redis复制到redis-cluster文件目录中,分别命名为1-6
cp -r /usr/local/redis /usr/local/redis-cluster/redis01
cp -r /usr/local/redis /usr/local/redis-cluster/redis02
cp -r /usr/local/redis /usr/local/redis-cluster/redis03
......

这里写图片描述

    2.修改每一个下面的redis.conf文件

#编辑redis.conf
vim redis.conf
#需要进行修改的内容
port=7001#(剩下5个分别为7002,,7003,7004,7005,7006)  
cluster-enabled yes  
cluster-require-full-coverage no    #默认是yes,只要有结点宕机导致16384个槽没全被覆盖,整个集群就全部停止服务,所以一定要改为no

    3.需要一个ruby脚本redis-trib.rb 放到redis-cluster下(将redis的解压目录src目录下的该文件复制过去)

cp /usr/local/redis-3.2.9/src/redis-trib.rb  /usr/local/redis-cluster/

    4.执行ruby脚本

      执行ruby脚本,需要安装ruby的环境

 yum install ruby   
 yum install rubygems  

    5.安装redis需要依赖的gem包

      下载:https://rubygems.org/gems/redis/versions/3.2.2

      将redis-3.2.2.gem拷贝到linux的/usr/local/redis-cluster/下,然后执行安装

gem install redis-3.2.2.gem  

    6.启动所有的redis实例,

    启动上面创建的那6个redis节点,为了简便我们在/usr/local/redis-cluster/写一个脚本来启动所有的redis,内容如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值