两台服务器安装redis集群_Redis集群搭建及测试

本文介绍了如何在两台服务器上搭建Redis Cluster,模拟3台服务器6个节点的集群环境,确保高可用性。通过详细步骤,包括配置修改、服务启动和集群创建,展示了一个简单但有效的Redis集群搭建过程,并进行了节点故障测试,验证了集群的稳定性。
摘要由CSDN通过智能技术生成

Redis集群搭建及测试

Redis有三种模式,前两种有点点问题,高可用做的不是那么好,目前来讲,最后一种Cluster模式算是最完美的,本文将模拟搭建这种模式的集群搭建过程,废话不多说,我要搭建成如下图所示的样子(灵魂画手,将就看):

说明:

一般来讲,生产环境的redis集群都是在不同机房的不同服务器上的,目的就是一个机房发生诸如掉电,火灾,断网等等问题时,依旧能够做到高可用,本文模拟3台服务器搭建6个节点,目的是:

1).告诉读者,redis集群的每个节点只通过端口和ip来区分,运行起来相当于一个Redis任务(进程)可以做一个redis节点来看待,也就意味着其实可以通过一台服务器构建这6个节点,当然这是模拟,生产环境不会这么干,因为没有意义,

如果是一台服务器,完全用一个redis就可以了,不用集群,就算用集群,部署到一个节点上,一但掉电,集群整个垮掉了,没有意义。

2).

上图我一个服务器部署2个节点,一个主节点,一个其他主节点的从节点,这样,不论是一个从节点垮掉还是一个主节点垮掉,还是Server1整个垮掉,redis集群都不会垮掉,就保证了高可用。

下面介绍实施过程:

第一步: 给Servier1,

Servier2,Servier3安装Redis。不会的看我之前的帖子,从网络到安装到避坑到连接都有详细写。

第二步:在Service1(192.168.217.111),Service2(192.168.217.112),Servier3(192.168.217.112)的/usr/local/下创建目录分别如下:

192.168.217.111: /usr/local/redis6371 /usr/local/redis6374

192.168.217.112: /usr/local/redis6372 /usr/local/redis6375

192.168.217.113: /usr/local/redis6373 /usr/local/redis6376

第三步:将redis解压目录下的redis.conf拷贝到上面创建的目录下,也可以拷贝到其中一个,改完配置之后再分别拷贝到其他目录下(因为大部分的配置是一样的,避免繁琐的修改)

第四步:修改redis.conf配置文件,修改内容如下:

修改完以上配置之后可以cp或者scp到其他节点的目录下,修改ip,端口,指向文件,集群配置文件等指向,也上面的第1,2,4,5,6,9行的配置为相对应的配置。

第五步:启动redis服务,安装路径下的bin路径下,利用redis-server

配置文件的方式启动redis服务,每个节点都同样的方法去启动

启动成功之后查看:

第六步:都启动之后,再某一个节点,举例子第一个节点,上执行创建集群的操作命令(5.0之后的版本可以直接用下面的命令创建集群,但是5.0之前的版本需要用ruby脚本去创建,命令有差别,目的一模一样,请自行百度,这里不赘述):

./redis-cli --cluster create

192.168.217.111:6371 192.168.217.112:6372 192.168.217.113:6373

192.168.217.112:6375 192.168.217.113:6376 192.168.217.111:6374

--cluster-replicas 1

如上图所示:按照设计,从节点6375添加到6371主节点,从节点6376添加到6372主节点,从节点6374添加到6373主节点,

只有3个主节点且主节点有分配Slots(槽),也就是主节点可以读/写操作,但是从节点只能写。

出现如下页面,表示集群创建成功:

下面开始测试集群是否搭建成功:

连接其中一个节点,连接方式:redis-cli -c -h [IP]

-p [端口] 如下图所示,-c表示集群:

查看集群中的节点:

从节点:前面长长的是节点id,

后面长长的是他的主节点id,通过这个可以看出哪个从节点隶属于哪个主节点,是我们上面设计的样子。

集群测试:

我们在Server1这个服务器上登录6371这个节点存入一个数:

然后新开一个xshell窗口,登录Servier3的6373这个节点去获取这个key,看是否拿到值:

我再登录Server2的一个从节点6376去获取数据看看:

从其他节点可以正常获取数据,说明集群正常

节点掉电测试,将Server3下电:

然后测试集群的set/get是否正常,如下图所示,集群工作正常,说明了高可用。

需要再说一下的是:在集群中,如果在当前节点下set一个值,他不一定会存到当前节点下,他会自己选择一个节点去存,也就是说用keys可能并不能看到刚才存入的数据,但是用get

key就可以拿到刚才存入的值。

至此完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值