Redis 集群环境搭建

Redis集群
Linux版本:CentOS 7
Redis版本:5.0.4

1、安装GCC环境
安装Redis需要依托GCC环境,先检查Linux是否已经安装了GCC,如果没有安装,则需要进行安装
检查GCC是否安装,可以看看版本号
$ gcc -v
如果没有的话执行下面命令安装

$ yum install gcc-c++
2、安装ruby
下面的过程都是在root权限下完成的。
1)yum安装ruby和依赖的包。

$ yum install ruby
$ yum install rubygems
一般来说,这一步是能正常完成的。
2)使用gem这个命令来安装redis接口(gem是ruby的一个工具包)

gem install redis

3)升级Ruby的版本(第二步骤如果版本太低的话需要安装高版本的用rvm 来安装)

安装rvm,Ruby的一个包管理器。
curl -L get.rvm.io | bash -s stable
执行命令
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

执行 curl -L get.rvm.io | bash -s stable

如图就算是安装成功了
接着,source环境,让rvm可用。

source /usr/local/rvm/scripts/rvm
查看ruby 的版本

rvm list known

下载想要的版本

rvm install 2.4.1
安装gem redis接口

gem install redis

3安装Redis
官网下载redis解压包解压完成后 在当前文件夹中打开终端 输入make编译

在六个系统中安装reids修改redis.conf 文件
4启动集群

ruby ./bin/redis-trib.rb create --replicas 1 10.93.84.53:7000 10.93.84.53:7001 10.93.84.53:7002                      10.93.84.53:7003 10.93.84.53:7004 10.93.84.53:7005

5验证集群状态

./bin/redis-cli -h 10.93.84.53 -p 7000 -c

一些原理

redis cluster在设计的时候,就考虑到了去中心化,去中间件,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。

Redis集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽(hash slot)的方式来分配的,一致性哈希对向集群中新增和删除实例的支持很好,但是哈希槽对向集群新增实例或者删除实例的话,需要额外的操作,需要手动的将slot重新平均的分配到新集群的实例中。

redis cluster 默认分配了 16384 个slot,当我们set一个key时,会用CRC16算法来取模得到所属的slot,然后将这个key分到哈希槽区间的节点上,具体算法就是:CRC16(key)%16384。

Redis 集群会把数据存在一个master节点,然后在这个master和其对应的salve之间进行数据同步。当读取数据时,也根据一致性哈希算法到对应的master节点获取数据。只有当一个master 挂掉之后,才会启动一个对应的salve节点,充当master。

需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值