Redis集群重新学习再详解说明

在我的上一篇博文Redis汇总里主从和哨兵Sentinel讲的已经很明白了,但Redis集群虽说在之前的两篇文章Linux搭建集群Windows搭建集群都有提到,且成功搭建运行。但,感觉还是不对劲,首先是不满足主从自动切换,因为我用的是多个服务商的作为服务器来搭建,其次是任意一个节点挂掉,Redis服务就死了,也就是说整个服务就宕机了,这绝对是不行的。

# 集群宕机规则
1、超过一半master挂掉,整个集群宕机,终止服务
2、任意一个master主节点挂掉、且它所属slave从节点也死掉,无论其他节点是否都正常运行,整个集群一样宕机,即:终止服务

后来,我通过在本地局域网重新进行搭建,解决了上述的两个问题,并验证了这两个规则,是正确的。首先将下载的Redis拷贝六份。因为Redis集群主从+Sentinel哨兵的整和。也就是将一个服务均摊给多台机器进行负载均衡,从而缓解服务器的压力,避免一台机器用户请求数据处理响应不过来。每份配置文件都一样,这就让搭建的过程变得方便的多。

在这里插入图片描述

Windows配置文件如下

# 端口
port 6371

# 支持持久化
appendonly yes

# 日志
logfile C:/Files/Redis/Cluster/Logs/Log.txt 

# 日志类型
loglevel verbose

# 密码
#requirepass 123@456

# 主从切换密码验证
#masterauth 123@456

#  允许创建集群
cluster-enabled yes

# 允许远程
protected-mode no


Linux配置文件如下:

# 端口
port 6379

# 运行后台运行
daemonize yes

# 支持持久化
appendonly yes

# 启动服务配置文件
pidfile /var/run/redis/redis-server.pid

# 日志类型
loglevel verbose

# 日志位置
logfile /var/log/redis/redis-server.log

# redis目录
dir /var/lib/redis

# 配置密码
#requirepass 123@456

# 主从切换密码验证
#masterauth 123@456


# 从服务器只读选项,默认是yes,只读模式  
slave-read-only yes  

# 允许远程
protected-mode no

# 开启集群
cluster-enabled yes

这里有个小技巧,我的密码配置是注释了的。因为拥有密码验证的情况下是不允许创建集群的,因为没有进行密码验证。有朋友肯定会说,那就进行密码验证啊,对吧。不是不可以,只是处理起来很复杂,找了很多大牛的文章,都是通过脚本来进行处理,多麻烦啊。为什么不直接省事开始呢?创建完集群,再配置密码,流程清晰、简单,也省得到处去整些不是很明白的脚本,我们的目的就是搭建Redis集群啊,何必跑偏。配置完成后,启动把6个服务通通启动:

在这里插入图片描述

通过ipconfig命令得到本机所在局域网的IP:

在这里插入图片描述

进入上述6Redis文件的任意一个的Redis目录下,使用如下命令创建集群,注意更换成你自己IP

redis-cli --cluster create 192.168.157.1:6371 192.168.157.1:6372 192.168.157.1:6373 192.168.157.1:6374 192.168.157.1:6375  192.168.157.1:6376 --cluster-replicas 1

根据提示输入yes即可:

在这里插入图片描述

创建成功:

在这里插入图片描述

接下来配置下密码验证,即:将配置文件的注释**#**去掉。记住,一定要创建集群后再配置密码啊,不然你创建的时候,会报错,没有auth认证授权。配置完成后,我们重启服务即可:

在这里插入图片描述

使用集群方式登录:

# 客户端集群模式登入
redis-cli -h 192.168.157.1 -c -p 6371
# 进行密码验证
auth 123@456
# 查看集群信息
cluster info
# 查看集群节点分配
cluster nodes
# 查看哈希槽分配
cluster slots

在这里插入图片描述

现在模拟宕机情景,当我们挂掉一个master,查看集群状态时发现:主节点挂掉一个,但集群仍然正常服务,但当主节点重启后,自动变成了从节点,也就说明集群的主从是自动切换的。

在这里插入图片描述

当我们同时宕机两个主节点,也就是挂掉两个master,发现:集群已经不再提供服务了。

在这里插入图片描述

当我们同时宕机掉其中一个主节点它所有从节点,发现:Redis集群服务又终止了。

在这里插入图片描述

当我们重启所有服务,集群正常运作。到此,我们的Redis集群,可算完成了,也基本了解和掌握其正常的运作方式,奥利给!

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42799562/article/details/112442876