Redis集群搭建-韩国庆 搭建集群

认真一步一步搭建下来,就可以成功....

Redis-cluster集群架构讲解

redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之前我们是搭建不了集群的。

我们需要知道每一个redis服务的工作状态,比如如果某一个redis服务突然停止,我们如何知道呢?

 

投票容错

 
如上图,每一个redis服务之间是否可以通讯及采用ping,pong的机制进行互相打招呼。当ping一个服务时,该服务相应pong,则代码服务通讯,反之不可以通讯。 
投票容错:只要有一半的redis服务认为当前某一个redis服务有问题,则判定该服务有问题存在。 
如:黄色redis服务ping下红色redis服务,发现红色redis服务没有给它响应,则黄色redis就告诉其他redis服务,你们也连接下红色redis服务,如果其它redis服务超过一半连接不上红色redis服务,则红色redis有问题存在。

 

redis集群故障分解

 
2.redis集群中没有做主从备份,如果其中有一台redis服务故障挂掉,那么很遗憾,整个集群则都不能使用。

 
通过上图我们了解到,redis-cluster中在一个名此叫,这个槽起到什么做作用呢? 
:在集群中的作用是为每一个redis节点合理的分配资源,达到负载均衡的作用。redis集群中物理节点是从0~16383,则一共16384个槽,除以几点的个数就是每个节点所承载槽的个数。 
根据什么来把数据放在哪个槽里呢?如下则是原理 
Redis集群搭建-韩国庆
搭建集群

问题:最多分布几个redis服务呢?最多也就是16384个,每一个槽对应一个服务。

 

 
那么为了保证每一台节点的稳定性,我们还要给每一个节点备份一台节点。所以这里要有6个节点。

我们运行6台服务器,基本上老师电脑挂掉,每一个更好的主机。所以老师在这里演示使用redis的实例,每一个实例其实就是一台redis服务。这种搭建比分布在6台虚拟机上更难,因为还要考虑每个redis服务端口号的问题。

我们在这里6端口号方便好记所以设置的区间是 7001-7006

 

搭建redis服务

如果现有的虚拟机上正在运行着redis服务,需要停止到。
停止redis服务命令 

 
1.redis的实例 
redis实例在老师电脑上/usr/local/bin下,这里是redis服务的实例。 
Redis集群搭建-韩国庆
搭建集群

2.在local目录下创建一个文件

 
cp -r bin redis-cluster/redis01

 
rm -r dump.rdb

 
修改端口号

 
每个redis节点都要修改当前主机ip

 
拷贝redis01---redis06,拷贝5次

 
所以去每一个redisX里的redis.conf下修改即可

 
如上创建一个文件,那么该文件是保存在了/local/redis-cluster/这个目录下 
Redis集群搭建-韩国庆
搭建集群

添加可执行权限   chmod +x startRedis.sh

12.进入到/usr/local/redis-cluster下启动脚本文件

./startRedis.sh


如上启动成功。

确认是否有端口号7001--7006服务开启,如下命令

ps aux|grep redis
 

安装ruby

 
redis-cluster安装前需要安装ruby环境,搭建集群需要使用到官方提供的ruby脚本。

安装ruby的环境需要依赖于环境,首先安装ruby环境

 
  1. yum -y install ruby
  2. yum -y install rubygems

 
老师提供了ruby脚本包,在资料中-->redis--->redis-3.0.0.gem包

1.安装redis-3.0.0.gem

 
  1. gem install redis-3.0.0.gem

 
可以找一个redis-trib.rb,这个是脚本文件。后缀.rb就是ruby的缩写

 
启动命令如下

 
  1. ./redis-trib.rb create --replicas 1 123.14.0.223:7001 123.14.0.223:7002 123.14.0.223:7003 123.14.0.223:7004 123.14.0.223:7005 123.14.0.223:7006

replicas: 1 表示每个redis服务只有1台备份机。

 

连接集群

redis给我提供了客户端,那么我们如何连接redis服务呢?redis服务集群特点是每一个节点都可以作为入口,备份节点也可以作为主机。

 
  1. redis01/redis-cli -h "123.14.0.223" -p 7001 -c

 

客户端连接集群(单机版和集群版)

 

单机版

 

集群版

 
Redis集群搭建-韩国庆
搭建集群 
Redis集群搭建-韩国庆
搭建集群 
Redis集群搭建-韩国庆
搭建集群