小白到运维工程师自学之路 第三十八集 (redis高可用集群)

一、概述

        Redis高可用集群是一种分布式系统,它由多个Redis节点组成,可以提供高可用性和容错性。在Redis高可用集群中,每个节点都可以处理客户端请求,并且数据会在多个节点之间进行复制和同步,以确保数据的可靠性和一致性。当一个节点出现故障时,集群会自动将请求路由到其他可用节点,从而保证服务的连续性和可用性。Redis高可用集群通常使用主从复制和哨兵机制来实现数据的复制和故障检测,同时还可以使用分片技术来提高性能和扩展性。

二、工作原理

1. Sentinel集群中的每个Sentinel节点都会定期向Redis主从节点发送PING命令,以检测节点是否正常运行。

2. 如果一个Sentinel节点在一定时间内没有收到主节点的回复,它会将主节点标记为下线状态,并向其他Sentinel节点广播这个信息。

3. 当大多数Sentinel节点都认为主节点已经下线时,它们会选举一个Sentinel节点作为领导者,负责执行故障转移操作。

4. 领导者Sentinel节点会向所有从节点发送SLAVEOF命令,将它们切换为新的主节点的从节点。

5. 领导者Sentinel节点还会向新的主节点发送CONFIG SET命令,将它的IP地址和端口号更新到从节点的配置中。

6. 当从节点收到新的主节点的IP地址和端口号后,它们会重新连接到新的主节点,并开始同步数据。

三、准备工作

1、三台虚拟机

2、关闭防火墙

3、每台虚拟机都安装redis

4、三台虚拟机互通

四、部署

1、部署主服务器

vim /etc/redis.conf 编辑redis主配置文件

bind  0.0.0.0		表示任何人都可用
port 6379		    配置端口
daemonize yes		以守护进程模式启动

配置哨兵

vim /etc/redis-sentinel.conf  编辑哨兵配置文件

port 26379                                  哨兵的端口号
daemonize yes                               以守护进程启动
sentinel monitor mymaster 主服务器IP 6379 2  监控的IP端口号 名称sentinel通过投票后认为mater宕机的数量此处至少为两个
protected --mode no  	 关闭保护模式

 

 

 2、配置从服务器(两个从服务器的配置一样)

vim /etc/redis.conf         打开从服务器配置文件

bind  0.0.0.0		        表示任何人都可用
port 6379		            配置端口
daemonize yes		        以守护进程模式启动
slaveof 192.168.1.20 6379   主服务器的IP

 

 配置哨兵

vim /etc/redis-sentinel.conf      打开哨兵配置文件

port 26379                        端口号                    
daemonize yes                     以守护进程启动
sentinel monitor mymaster 主服务器IP 6379 2  监控的IP端口号 名称sentinel通过投票后认为mater宕机的数量此处至少为两个
protected --mode no  	          关闭保护模式

 

 

五、测试

现在可以看到我的主服务器下挂了两个从服务器

小白到运维工程师自学之路 第三十八集 (redis高可用集群)_第1张图片

现在把主服务器停掉

 

 再去查看两个从服务器

IP为211的没有变化

小白到运维工程师自学之路 第三十八集 (redis高可用集群)_第2张图片

但是可以发现IP为210的变成了主服务器

 小白到运维工程师自学之路 第三十八集 (redis高可用集群)_第3张图片

 以上测试结果为实验成功

这就是redis高可用集群的基本配置

如有错误欢迎各位大佬批评指正,我们共同进步

 

 

你可能感兴趣的:(redis,运维,数据库)