redis sentinel配置启动

redis sentinel的相关信息可查看
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
Redis哨兵(Sentinel)模式

这里负责实践配置启动redis sentinel

配置redis主从复制

首先开启redis sentinel的前提是已开启redis主从复制,详细开启可查看redis持久化和主从复制,我这篇博客有相关操作

由于是测试配置,所有配置信息都在一台服务器上进行,其中,我配置了三个redis进程,对应的ip分别为6379,6380,6381。其中6379为master,6380,6381为slave。查看info replication信息如下

6379端口信息如下,存在两个salve
redis sentinel配置启动

6380端口信息如下:
redis sentinel配置启动

6381端口信息如下:

redis sentinel配置启动

配置sentinel

配置信息如下所示

//运行端口
port 26379
//是否开启后台运行
daemonize yes
//pid运行文件
pidfile /var/run/redis-sentinel-26379.pid
//sentinel日志文件
logfile "/usr/local/redis/var/redis-sentinel-26379.log"
//文件夹目录
dir "./"
//告诉sentinel去监听地址为ip:port的一个master,这里的mymater可自定义,注意的是master-ip 要写真实的ip地址而不要用回环地址(127.0.0.1),和端口号6379,2为指明当有多少个sentinel认为一个master失效时
sentinel monitor mymaster 47.102.216.107 6379 2
//这个配置项指定了需要多少失效时间,一个master才会被这个sentinel主观地认为是不可用的。 单位是毫秒,默认为30秒
sentinel down-after-milliseconds mymaster 30000
//这个配置项指定了在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步,这个数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越多的slave因为replication而不可用。可以通过将这个值设为1来保证每次只有一个slave处于不能处理命令请求的状态。
sentinel parallel-syncs mymaster 1
//failover-timeout 可以用在以下这些方面: 
//1. 同一个sentinel对同一个master两次failover之间的间隔时间。
//2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
//3.当想要取消一个正在进行的failover所需要的时间。  
//4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了。
sentinel failover-timeout mymaster 180000
//设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同。
sentinel auth-pass mymaster 1505203

由于在同一台服务器配置,这里添加三个配置文件,对应端口26379,26380,26381

运行sentinel

在redis安装的bin目录执行以下命令
./redis-server sentinel-26379.conf --sentinel
./redis-server sentinel-26380.conf --sentinel
./redis-server sentinel-26381.conf --sentinel

查看redis进程ps -ef | grep redis

redis sentinel配置启动

可以查看到redis进程已运行

测试sentinel

我们首先shutdown master的redis进程

再查看其他两个端口的redis进程info

6380已变为master
redis sentinel配置启动

6381显示master_link_status已经down了
redis sentinel配置启动

测试一下可以正常执行主从复制

redis sentinel配置启动

可以查看到,主从复制是可以正常执行的

现在我们再将6379端口的redis启动

运行命令./redis-server redis-6379.conf

查看一下6379的info信息,可查看到6379已变成slave

redis sentinel配置启动

但是并没有执行主从复制
redis sentinel配置启动

这时需要修改6379的配置文件,将slaveof配置和masterauth配置填写为6380端口的相关信息,并关闭bgsave相关配置

可以查看到6379可成功进行主从复制

redis sentinel配置启动

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!