SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式

一、SpringBoot 集成Redis哨兵

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第1张图片

启动程序后,设置key,value

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第2张图片

 拿到结果:

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第3张图片

 查看redis库:

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第4张图片

 二、Redis-Cluster 集群

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第5张图片

三、搭建Redis的三主三从集群模式

需要搭建6台服务器集群,如下:

192.168.1.201、192.168.1.202、192.168.1.203、192.168.1.204、192.168.1.205、192.168.1.206

1.开启集群模式

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第6张图片

 2.每个节点处于集群中的配置文件,与其他节点的关系,状态,角色等都会保存在这个文件中,由redis管理和维护,我们只需要打开注释就行

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第7张图片

 3.超时检测,也称为心跳检测,如果超时,则认为master挂掉,进行主备切换

 4.开启AOF

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第8张图片

 5.删掉working目录下的dump.rdb和appendonly.aof文件,因为这两个文件是当时构建单机redis时需要的,构建集群时,并不需要。如果存在,会报错。

6.此时,working目录下只有一个文件:nodes-6379.conf,也就是我们刚才在redis.conf里打开注释的文件(第2步)每一个节点需要有一个配置文件。每个节点处于集群的角色都需要告知其他所有节点,彼此知道。

 7.此时,去停止redis,发生了这样一个错误:

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第9张图片

原因是之前设置了主从复制时,redis的验证密码(redis.conf里配置了requirepass imooc),解决办法:修改/etc/init.d/redis_init_script,加上关闭redis服务时的密码。 

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第10张图片

 8.停止redis服务后,再重新启动

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第11张图片

9.查看进程

10. 到此,配置完1台服务器,其它4台服务器也需要配置,配置方法一样。

11.注意1:如果你使用的是redis3.x版本,需要使用redis-trib.rb来构建集群,最新版使用C语言来构建了,这个要注意

注意2:以下为新版的redis构建方式

12.redis-cli --help 可以查看到redis-cli --cluster 构建集群,redis-cli --cluster help查看构建集群帮助文档

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第12张图片

构建集群,报错没有权限 

 此时,我们加上密码

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第13张图片

随后,进入了无休止的等待:Waiting for the cluster to join.........

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第14张图片 原因是集群总线端口没有开放,参考文章:https://www.jianshu.com/p/250f5da36b49/ 

集群总线端口,其端口为客户端连接端口加上10000,即 6379 + 10000 = 16379。所以开放每个集群节点的客户端端口和集群总线端口才能成功创建集群!

如果再次构建集群失败:

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第15张图片

构建集群失败解决方法:删除掉每个节点的nodes-6379.conf文件,再重启redis服务,再构建,如下,构建成功

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第16张图片

 检查集群信息:

redis-cli -a imooc --cluster check 192.168.1.201:6379       //imooc是密码

SpringBoot 集成Redis哨兵、Redis-Cluster 集群、搭建Redis的三主三从集群模式_第17张图片

你可能感兴趣的:(Redis,电商网站搭建,redis)