Redis Cluster

架构的流程

20200512091439

1、如何开启cluster呢

我们需要每个节点的

cluster-enabled: yes  #启用redis-cluster

2、进行meet

交换消息,找到每个节点

20200512091754

3、指派槽

20200512091840

 

redis-cluser特性:复制、高可用、分片

现在我们来实现三个master和三个slave

20200512104935

安装方式有两种:原生命令安装、官方工具安装

原生命令安装(理解架构用的):

1、配置redis  配置文件自己创建

如果都在一台主机上,可以用一个小命令快速替换

开启每个节点

查看是否启动成功

ps -ef 用来查看所有进程,grep用来查找 可以正则

注意:如果我们在这个时候set hello world ,他会告诉我们集群不可用(下线状态)。因为我们没有分配槽,继续。。。

redis-cli -p 7000  cluster nodes   查看所有节点

redis-cli  -p 7000  cluster info   查看集群信息

2、相互通信meet

在7000节点输入,一个节点输入即可,完成互通

 

现在set key value,还是下线状态,继续…

 

3、分配槽

cluster addslots slot [slot …]

太麻烦了

我们简单设置一个脚本 addslot.sh,先打印出来槽

执行  sh addslot.sh  0  4096   7000   可以工作

写分配槽代码

执行

因为我们需要3个master和3个slave,所以我们只需分配三个master槽即可。

下面刚执行完7000的槽

20200512104032

 

 

 

4、设置主从

cluster replicate node-id

node-id 节点id

获取节点id用

进入slave节点,绑定主节点

 

 

redis-cli -p 7000  cluster slots 可以查看槽的分配

 

 

官方工具安装(推荐):

Redis Cluster 在5.0之后取消了ruby脚本 redis-trib.rb的支持(手动命令行添加集群的方式不变),集合到redis-cli里,避免了再安装ruby的相关环境。直接使用redis-clit的参数–cluster 来取代。为方便自己后面查询就说明下如何使用该命令进行Cluster的创建和管理,关于Cluster的相关说明可以查看官网

这是一个Ruby脚本

所以我们要下载安装ruby,然后安装ruby客户端,安装redis-trib.rb

下载

 

安装客户端

 

上面的两个代码我们可以写到一个脚本里

ruby.sh

 

安装redis-trib.rb

 

使用

首先还是先准备好,6个节点

现在使用redis-trib.rb创建集群

5.0以上版本

5.0以下版本

–replicas  1  为每个主节点设置几个从节点。如果需要一个master有两个slave你就可以写2

 

小技巧:liunx命令:如果我们要杀死以前的配置

打印进程号

awk 就是可以在里面输入命令

杀死他们

 

 

看看我们set的命令,槽的分配

20200511201153

 

 

 

 

 

 

 

发表评论