暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redis哨兵模式

东神殿下 2021-12-07
921

哨兵模式:给集群分配一个站岗的。

哨兵的作用:对Redis系统的运行情况监控,它是一个独立进程,它的功能:

  1. 监控主数据库和从数据库是否正常运行;

  2. 主数据出现故障后自动将从数据库转化为主数据库;

    如果主机宕机,开启选举工作,选择一个从机作为主机。


环境准备:一主两从,启动任一从机时,启动哨兵模式

如何添加从机请查看 Redis主从复制

然后把三个Redis中的持久化文件.rdb .aof 删除

启动三个redis服务,分别以不同端口号启动

启动后通过

info replication

命令进行查看

虽然哨兵(sentinel)释出为一个单独的可执行文件 redis-sentinel,但实际上它只是一个运行在特殊模式下的Redis服务器,你可以在启动一个普通Redis服务器时通过给定 --sentinel选项来启动哨兵(sentinel)。



第一步:配置哨兵

哨兵主要是用来监听主服务器的,所以一般把哨兵部署在服务器上监听。

配置哨兵:

启动哨兵进程,首先需要创建哨兵配置文件 vi sentinel.conf,可以源码配置redis-5.0.5/sentinel.conf中复制内容,也可以直接自定义该文件到bin目录下

[root@localhost bin]# vi sentinel.conf 

在配置中输入:sentinel monitor mastername 内网IP(127.0.0.1)6379 1

说明:

  • mastername 监控主数据的名称,自定义

  • 127.0.0.1:监控主数据库的IP;

  • 6379:端口号

  • 1:最低通过票数


第二步:启动哨兵

哨兵是一个单独的进程,启动之前确保主从服务都是正常的。先启动主服务,后启动从服务


把日志写入指定文件:

[root@localhost bin]# ./redis-sentinel ./sentinel.conf > sent.log &


启动redis服务后,程序会自动配置文件sentinel.conf,并生成内容,注意:若再启动需要删除下生成的内容。

哨兵启动方式:

[root@localhost bin]# ./redis-server sentinel.conf --sentinel


查看配置文件sentinel.conf中生成的内容:

启动哨兵的时候,修改了哨兵的配置文件。如果需要再次启动哨兵,需要删除myid唯一标示。(保险的做法就是启动的一次,新配置一次


第三步:主机宕机

机房意外:断电了,硬件故障:硬盘坏了。

redis服务列表


杀死主机

kill -9 pid



哨兵控制台:从库自动提升为主库



同时也会自动修改redis.conf的主从配置文件。

replicaof 127.0.0.1 6380

指向了新主机,再次启动原有的主机,原有的主机会变为从机。


总结:

主从集群:主机有写入权限。从机没有,只有可读。


意外宕机方案:

手动回复:人为重启服务器,主机宕,把从机设置为主机。


自动恢复:使用哨兵监控,自动切换主从。

文章转载自东神殿下,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论