Redis集群:哨兵模式

简介:

Redis哨兵模式是一种特定的哨兵模式,用于高可用性的Redis部署。在Redis中,哨兵模式用于监控和管理Redis主从节点,以保证系统的可用性。

在Redis哨兵模式中,有一个或多个哨兵节点(Sentinel Nodes)负责监控Redis的主节点和从节点。哨兵节点通过定期向Redis节点发送PING命令来检测节点的健康状态。如果主节点出现故障或不可用,哨兵节点会自动将一个从节点升级为新的主节点,然后通知其他从节点切换到新的主节点。这样可以保证Redis集群在主节点故障时能够自动进行故障转移,保证系统的高可用性。

除了故障转移外,Redis哨兵还可以执行其他任务,例如监控节点的运行状态、检测节点的配置变化、自动发现新的节点等。哨兵节点之间会进行通信,通过选举算法选出一个哨兵节点作为领导者(Leader),负责协调整个集群的状态和决策。

使用Redis哨兵模式可以提高Redis集群的可用性和可靠性,保证系统在节点故障时能够自动进行故障转移。它还可以方便地进行监控和管理Redis集群,提供了一种简单而有效的高可用解决方案。

搭建:

前言:如果主从复制没有搭建的可以查看我的另一篇文章 

http://t.csdn.cn/J4p0fhttp://t.csdn.cn/J4p0f

我们在一台虚拟机上搭建哨兵模式的redis集群,开启三台redis-server,一台主机两台从机。然后开启三台哨兵去监控主机。当主机宕机时,哨兵们会尝试与主机取得连接,当一定时间内未取得连接时,哨兵会判断该主机已经断线,选举新的主机。值得注意的是,只有大于一半的哨兵认为该主机断线才会选举新的主机。

步骤一:

将/usr/local/redis目录下的sentinel.conf配置文件复制到/opt/redis/conf目录下。

sentinel.conf是Redis Sentinel(哨兵)模式下的配置文件,用于配置Redis哨兵节点的参数和选项。

cp /usr/local/redis/sentinel.conf /opt/redis/conf/sentinel-common.conf

步骤二:

修改sentinel-common.conf哨兵公共配置文件

1.注释哨兵监听进程端口号

Redis集群:哨兵模式_第1张图片

 2.配置局域网IP

Redis集群:哨兵模式_第2张图片

3.设置master和slaves

Redis集群:哨兵模式_第3张图片 

4.设置sentinel认为服务器已经断线所需的毫秒数

Redis集群:哨兵模式_第4张图片 

5.关闭保护模式修改为后台启动

Redis集群:哨兵模式_第5张图片 

 步骤三:

添加三个私有哨兵配置文件(添加到/opt/redis/conf目录下)

touch  sentinel-26379.conf
touch  sentinel-26379.conf
touch  sentinel-26379.conf
#引入公共配置
include /opt/redis/conf/sentinel-common.conf
#进程端口号
port 26379
#进程编号记录文件
pidfile "/var/run/sentinel-26379.pid"
#日志记录文件
logfile "/opt/redis/log/sentinel-26379.log"

进程端口号对应到配置文件编号

步骤四:

关闭防火墙

sudo ufw disable

步骤五:测试

1.开启redis-server服务

sudo redis-server /opt/redis/conf/redis-6379.conf 
sudo redis-server /opt/redis/conf/redis-6380.conf 
sudo redis-server /opt/redis/conf/redis-6381.conf 

可以看到3个redis-server已经开启

Redis集群:哨兵模式_第6张图片

 2.开启redis-sentinel哨兵

sudo redis-sentinel /opt/redis/conf/sentinel-26379.conf 
sudo redis-sentinel /opt/redis/conf/sentinel-26380.conf
sudo redis-sentinel /opt/redis/conf/sentinel-26381.conf 
 

3.开启redis-cli

redis-cli -p 6379 -a 120099
redis-cli -p 6380 -a 120099
redis-cli -p 6381 -a 120099

在6379主机查看从机信息

info replication

可以看到6379做为主机,他有两给从机6380和6381

Redis集群:哨兵模式_第7张图片

 当我们使用命令杀死6379server进程模拟其宕机时,可以发现很快哨兵监测到6379

服务器断线,并重新选取新的主机。我们可以考到现在6380作为了新的主机。当63

79重新启动时,会加人到6380的从机中去。

Redis集群:哨兵模式_第8张图片

 

 至此,我们的Redis集群-哨兵模式就搭建好了。

 

 

你可能感兴趣的:(Redis,redis,数据库,缓存,ubuntu,linux)