> 文章列表 > Redis 6.x哨兵模式部署(五)

Redis 6.x哨兵模式部署(五)

Redis 6.x哨兵模式部署(五)

   目录

一、主从复架构搭建

二、哨兵模式搭建

2.1背景

2.2哨兵模式介绍

2.3 Sentinel三大工作任务

1监控(Monitoring)

2提醒(Notification)

3自动故障迁移(Automatic failover)

4核心流程

2.4 安装配置


一、主从复架构搭建


节点redis的读取并发能力是有上线的,要进一步提高redis读的并发能力,就需要搭建主从集群,实现读写分离。下图就是基础的主从架构。

共包含三个节点,一个主节点,两个从节点。


我们测试采用一主两从的架构,3台服务器

                                                                               主从部署

编号

IP

主/从

1

192.168.2.212

2

192.168.2.213

3

192.168.2.214

先来看下redis.conf配置

#添加本机的ip
bind 192.168.2.211
#端口
port 36379
#守护进程
daemonize yes
#pid存储目录
pidfile /app/software/redis-6/run/redis_36379.pid
#日志存储目录
logfile /app/software/redis-6/log/redis_36379.log
#数据存储目录,目录要提前创建好
dir /app/software/redis-6/data/
# AOF持久化
appendonly yes
##  从那个节点进行数据复制
replicaof 192.168.2.213 36379masterauth 123456
requirepass 123456

启动

/app/software/redis-6/bin/redis-server  /app/software/redis-6/conf/redis.conf 

查看日志master节点同步到两个 slave

命令行使用 INFO REPLICATION 查看副本信息

在master节点 写入 <hadoop,hbase> ,在slave节点可以查看到 value结果


二、哨兵模式搭建


2.1背景

前面搭建了主从,当主服务器宕机后,需要手动把一台从服务器切换为主服务器,人工干预费事费力,还会造成一段时间内服务不可用。

2.2哨兵模式介绍

Redis提供了哨兵的命令,是一个独立的进程。

原理:哨兵通过发送命令给多个节点,等待Redis服务器响应,从而监控运行的多个Redis实例的运行情况

当哨兵监测到master宕机,会自动将slave切换成master,通过通知其他的从服务器,修改配置文件切换主机。

2.3 Sentinel三大工作任务

1、监控(Monitoring)

Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。

2、提醒(Notification)

当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。

3、自动故障迁移(Automatic failover)

当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器

当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

4、核心流程

  • 每秒ping,超过时间不响应 则认为主观下线
  • 满足多个,则认为是客观下线
  • 投票选择主节点
  • 如果没有足够的节点同意master下线,则状态会被移除

2.4 安装配置

配置3个哨兵,每个哨兵的配置都是一样的,sentinel-2.conf

port 33379
bind 192.168.2.213
daemonize yes
pidfile "/app/software/redis-6/run/redis-sentinel-2.pid"
logfile "/app/software/redis-6/log/sentinel_66379.log"
dir "/tmp"
sentinel monitor mymaster 192.168.2.213 46379 2
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster 123456
sentinel failover-timeout mymaster 30000

启动

/app/software/redis-6/bin/redis-server  /app/software/redis-6/conf/sentinel-2.conf --sentinel
/app/software/redis-6/bin/redis-server  /app/software/redis-6/conf/sentinel-1.conf --sentinel
/app/software/redis-6/bin/redis-server  /app/software/redis-6/conf/sentinel-3.conf --sentinel

都启动后,查看状态和日志

sentinel-x.conf配置文件后面 自动添加 哨兵监控信息