Redis 哨兵模式搭建
Redis 哨兵模式简介
哨兵模式最基础的节点是三个节点,即通常所说的一主二从三哨兵。
哨兵模式节点数要求:最少是三台,或者三台以上的基数数量,比如:5台、7台之类的
哨兵模式的核心是解决 Redis 主从复制架构中的故障自动切换问题。它由一组 Sentinel 进程组成,主要实现三个功能:监控、通知和自动故障转移。
哨兵模式跟cluster最大的区别是,哨兵模式没有分片,一主二从上的数据保存的都是一模一样的。master 节点上的数据会通过异步的方式同步给两台从节点。主节点读写,从节点只读权限。
Redis 哨兵模式架构图

Redis 哨兵模式搭建
三台服务器搭建redis哨兵集群,(1主2从3哨兵)
主服务器(master):192.168.1.12
从服务器(slave): 192.168.1.91
从服务器(slave): 192.168.1.92
下载redis:
下载链接:https://download.redis.io/releases/
安装依赖包:
cd /data/app/pats_opts
wget https://download.redis.io/releases/redis-6.2.0.tar.gz
tar -zxvf redis-6.2.0.tar.gz
cd redis-6.2.0
make MALLOC=libc BUILD_TLS=yes
主redis 配置
主redis 配置,先备份原来的配置文件
命令:cp redis.conf redis.conf.bak
修改配置文件:
bind 0.0.0.0
protected-mode no
requirepass 123456 #123456为密码,可自行定义
masterauth 123456 #123456 为密码,可自行定义
appendonly yes
两个从redis 配置:
#两个从库配置前先备份配置文件
cp redis.conf redis.conf.bak
#从库的基础配置跟主库一样配置即可
#添加主库同步配置、在配置文件最后一行加上:
slaveof 192.168.1.12 6379
配置redis 哨兵
#三台服务器的哨兵模式的配置文件都是一样配置
#主服务哨兵配置,先备份配置文件
cp sentinel.conf sentinel.conf.bak
#配置文件修改
bind 0.0.0.0
protected-mode no
daemonize yes
sentinel monitor mymaster 192.168.1.12 6379 2 #这边的ip是主库ip,2指三个哨兵至少需要Sentinel 同时认为 Master 挂了,判断为客观下线,触发故障转移。
sentinel auth-pass mymaster 123456 #123456 为密码,可自定定义
服务启动
#redis 服务启动,依次启动三台reidis
cd /data/app/pats_opts/redis-6.2.0
./src/redis-server redis.conf
#redis sentinel 服务启动
cd /data/app/pats_opts/redis-6.2.0
./src/redis-sentinel sentinel.conf
#查看reids & sentinel端口跟进行
#redis默认端口:6379,sentinel默认端口:26379
ps -ef|grep redis
netstat -an|grep 6379
哨兵模式测试
主库登录,查看信息配置
#redis cli 登录查看配置情况
#主库登录:
./src/redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.91,port=6379,state=online,offset=519931,lag=0
slave1:ip=192.168.1.92,port=6379,state=online,offset=519792,lag=0
master_failover_state:no-failover
master_replid:bcd97d1d3282738c6b83f3c1266a6e837ac78d0f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:519931
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:519931
从库登录,查看信息配置

主从库测试:在主库上设置key:value 值,在从库能查询到

测试从库只有只读权限
在两台从库上输入set name zhangsan,会报错

查看哨兵启动后配置信息
cd /data/app/pats_opts/redis-6.2.0
./src/redis-cli -p 26379 INFO sentinel

将主库停掉,查看从库是否变成主库

到这里redis 哨兵模式已经部署完成。。。。。。
更多推荐



所有评论(0)