redis安装(集群版)

工具:redis-3.0.0.gem

集群架构

再安装集群之前我们先简单了解一下redis的居群原理

我们先看一下redis集群架构图

我们从上边可以看出,redis集群是由多个redis主节点和redis从节点组成,客户端与redis节点直接相连。redis集群中内置16384个hash槽,集群根据节点的多少把槽平均分配到每一个节点上,当我们往redis集群中存放一个key-value的时候,集群会先使用一个crc16算法进行运算,再把求出的结果和16384进行求余算出应该放在那个槽里,最后把值放在对应的槽里。

节点与hash槽的关系图如下

容错机制

redis集群中有一个容错机制

集群中每一个节点使用ping-pong机制进行通信,内部使用二进制协议优化传输速度和带宽。

当节点A发现节点B出错了,A会向其他节点发送消息,让其他节点和节点B进行通信,如果有一半的节点认为B节点出错了,那么就认为该节点挂了,如果该节点存在从节点,那么从节点扶正,集群继续工作,如果没有,那么整个集群就挂掉了。

下面我们来学习集群的安装

redis集群安装

由于集群的容错机制,我们必须保证他能投票超过半数以上,所以我们选择搭建三个主节点,再加三个从节点,一共六个节点

由于本人电脑配置有限,起不来六个虚拟机,所以我打算再同一台虚拟机上搭建,用不同的端口号来区分。

具体我们要做的是搭建六个redis节点,然后借助redis-3.0.0.gem工具搭建九年

准备六个节点

关于虚拟机搭建redis请看我的另一篇博客https://blog.csdn.net/weixin_38497513/article/details/81335327

再这篇博客中搭好了一个redis,也就是搭好了一个节点,接下来要做的就是复制这6分这个节点(因为之前搭好的我作为单机版使用了,如果不使用单机版的小伙伴可以赋值5份)

1.创建一个文件夹redis-cluster(用来存放redis集群)

2.将redis/bin 文件夹下的东西复制一份到redis-cluster/redis01中

3.把dump.rdb(快照文件)删了,因为我们需要一个干净的节点(如果你搭建好的redis没有使用,那么跳过此步骤)

4.改redis.conf

  (1)修改端口号

   vim redis.conf

(2)打开集群模式

  linux下查找字符串  输入/cluster(cluster是你需要找的字符串),然后回车

 

5.复制5份刚才配置好的节点

cp -r redis01/ redis02

 

6.修该redis02/03/04/05/06文件的端口号

修改过程和步骤4的(2)一样

在此略过

7.使用批处理启动每个redis实例(一个一个启动太麻烦了)

编辑start-all.sh文件,没错,你打开它的时候是个空文件,然后输入以下图片中的信息

vim start-all.sh

8.改成可执行权限

我们写好的start-all.sh文件没有可执行权限,所以我么需要修改它的权限

chmod +x start-all.sh

9.启动

启动六个节点

到这里我们六个实例就准备完了

接下来我们开始搭建集群

我们需要运行一个使用ruby编写的脚本,所以我们需要运行ruby的环境

集群搭建

10.安装ruby

如果你的linux里ruby就不需要安装

yum install ruby

yum install rubygems(安装ruby包管理器)

11.使用xftp5把工具包redis-3.0.0.gem传到centos上

redis-3.0.0.gem是搭建集群需要使用的工具

 12.安装redis-3.0.0.gem(ruby脚本运行依赖的包)

  命令:gem install redis-3.0.0.gem

13.运行redis中的redis-trib.rb(redis是我们安装单机版的时候解压好的redis文件)

它运行需要包(redis-3.0.0.0.gem)和Ruby运行环境

我们把这个脚本复制到redis-cluster中

14,开始搭建集群

执行命令:./redis-trib.rb create --replicas 192.168.2.100:7001 192.168.2.100:7002 192.168.2.100:7003 192.168.2.100:7004 192.168.2.100:7005 192.168.2.100:7006

 

 

使用集群

我们集群搭建完毕了,该如何使用呢?

使用redis连接客户端连接集群

连接:redis01/redis-cli -p 7006 -c

注意:要有-c ,如果没有跳不到其他的节点上

查看集群状态:

命令:cluster info

查看当前急群众有多少节点

命令:cluster nodes

 

 

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值