在演示redis sentinel之前,首先准备一套主从(生产环境是sentinel和主从都不会在一台机器,这里为了演示,都在一台机器进行部署)
准备一个主从环境
我们以7000端口作为master节点,7001、7002为slave节点
master配置
slave配置(7002同)
将三个节点启动
来看下主从关系
搭建redis sentinel
1.将redis安装目录下的sentinel.conf拷贝到新建的config目录下
cp sentinel.conf ./config/
2.到config目录下,过滤到配置文件的空行和注释并重定向文件 redis-sentinel-26379.conf
cat sentinel.conf | grep -v "#" | grep -v "^$" > redis-sentinel-26379.conf
3.看下配置文件
port 是端口号,sentinel默认26379
dir 是工作目录
sentinel monitor 其中的mymaster代表监控主节点的名字,后面是ip 端口 还有一个2,意思是说至少有几个sentinel认为这个master有问题(故障发现)就会发动下一步(故障转移)
sentinel down-after-milliseconds 代表判定故障的一个时间阀值 默认30000毫秒(这里可以想象成不停的去PING,30秒没反应就认为是故障,进行故障转移)
sentinel parallel-syncs 代表slave向新的master同步时,同时进行最多几个,默认是1 这样可以减轻master的压力
failover-timeout是进行故障转移的时间
4.编辑config目录下的sentinel配置,加入守护进程启动,工作目录,日志文件名,监听master的端口号
vim redis-sentinel-26379.conf
5.再编辑两个sentinel的config同上 将端口和日志文件改为26380,并启动将他们启动(注意,这里启动命令要用redis-sentinel )
6.接下来用redis-cli随便连一个sentinel,输入info命令观察
可以看到sentinel节点下,发现了master在7000端口,并且有2个slave,一共有3个sentinel(证明sentinel可以互相感知)。还可以看下sentinel的配置文件发生了变化
发现了2台slave和另外的两个sentinel。