集群结构
本次教学用三节点的哨兵集群来管理Redis一主两从的集群
三个sentinel实例信息如下:
节点 | IP | PORT |
s1 | 192.168.150.101 | 27001 |
s2 | 192.168.150.101 | 27002 |
s3 | 192.168.150.101 | 27003 |
准备实例和配置
要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。
如果说没有主从集群环境,可以参考上一篇博文:
我们创建三个文件夹,名字分别叫s1、s2、s3:
# 进入/tmp目录
cd /tmp
# 创建目录
mkdir s1 s2 s3
我们在s1目录创建一个sentinel.conf文件,添加下面的内容:
# 是当前sentinel实例的端口
port 27001
# 声明当前节点所在ip
sentinel announce-ip 192.168.150.101
# 指定主节点信息,mymaster为主节点名字,后面是masterIp和port,2代表出现宕机需要选举通过的哨兵数量
sentinel monitor mymaster 192.168.150.101 7001 2
# 节点下线所需要的时间
sentinel down-after-milliseconds mymaster 5000
# 超时时间
sentinel failover-timeout mymaster 60000
# 日志文件的路径
dir "/tmp/s1"
# 如果有主节点有密码还需要配置密码,不然会连接失败
sentinel auth-pass masterName pwd
requirepasspwd
将上面的sentinel.conf文件拷贝到s1,s2,s3的目录下,修改端口号就行了
cp s1/sentinel.conf s2
cp s1/sentinel.conf s3
启动
为了方便查看日志,我们打开3个ssh窗口,分别启动3个redis实例,启动命令:
# 第1个
redis-sentinel s1/sentinel.conf
# 第2个
redis-sentinel s2/sentinel.conf
# 第3个
redis-sentinel s3/sentinel.conf
代表搭建成功