Redis大纲
3.1.sentinel环境准备:
a.3个sentinel实例信息:
- 1.sentinel实例信息如下,sentinel只是起到监控作用,不存放数据!!
- 2.为了节省资源,在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。
| 节点 | IP | PORT | 
|---|---|---|
| s1 | 192.168.150.101 | 27001 | 
| s2 | 192.168.150.101 | 27002 | 
| s3 | 192.168.150.101 | 27003 | 
b.准备实例和配置
- 1.创建三个文件夹,名字分别叫s1、s2、s3:# 进入/tmp目录 cd /tmp # 创建目录 mkdir s1 s2 s3
- 2.如图:
  
3.2.配置sentinel.conf:
a.解读sentinel.conf配置文件中的重点参数:

- 1.port 27001:是当前sentinel实例的端口
- 2.sentinel announce-ip 192.168.150.101:
- 3.sentinel monitor mymaster 192.168.150.101 7001 2:指定主节点信息- mymaster:需要监控的主节点名称,自定义,任意写
- 192.168.150.101 7001:主节点的ip和端口
- 2:选举master时的quorum值,- 表示最少有几个哨兵认可就客观下线
  
 
- 4.sentinel down-after-milliseconds mymaster 5000:指定多少毫秒之后,主节点没有应答哨兵,此时哨兵主观上认为主节点下线
- 5.sentinel parallel-syncs <master-name> <nums>:表示允许并行同步的slave个数,当Master挂了后,哨兵会选出新的Master,此时,剩余的slave会向新的master发起同步数据
- 6.sentinel failover-timeout <master-name> <milliseconds>:故障转移的超时时间,进行故障转移时,如果超过设置的毫秒,表示故障转移失败
- 7.sentinel notification-script <master-name> <script-path>:配置当某一事件发生时所需要执行的脚本
- 8.sentinel client-reconfig-script <master-name> <script-path>:客户端重新配置主节点参数脚本
b.三个哨兵sentinel的通用配置:
- 1.三个配置分别放在s1、s2、s3目录下:
  
  
  
3.3.启动sentinel
- 1.为了方便查看日志,我们打开3个ssh窗口,分别启动3个redis实例,启动命令:# 第1个 redis-sentinel s1/sentinel.conf # 第2个 redis-sentinel s2/sentinel.conf # 第3个 redis-sentinel s3/sentinel.conf
- 2.启动后:
  
3.4.测试
- 1.尝试让master节点7001宕机,
  
- 2.查看sentinel日志:
  
- 3.查看7003的日志:
  
- 4.查看7002的日志:
  
3.5.对redis和Sentinue配置文件的说明:
- 1.在哨兵机制中,两者的配置文件在主机和从机发生变更的时候,会同时都发生改变
  
3.6.哨兵使用的建议:

