redis 两主两从+哨兵模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 两主两从+哨兵模式相关的知识,希望对你有一定的参考价值。
Redis 两主两从配置安装
一、Redis
Redis 支持 Master-Slave(主从)模式,Redis Server 可以设置为另一个 Redis Server 的主机(从机),从机定期从主机拿数据。特殊的,一个从机同样可以设置为一个 Redis Server 的主机,这样一来 Master-Slave 的分布看起来就是一个有向无环图 DAG,如此形成 Redis Server 集群,无论是主机还是从机都是 Redis Server,都可以提供服务。
在配置后,主机Master可负责读写服务,从机slave只负责读。Redis 提高这种配置方式,为的是让其支持数据的弱一致性,即最终一致性。在业务中,选择强一致性还是弱一致性,应该取决于具体的业务需求,像微博,完全可以使用弱一致性模型;像淘宝,可以选用强一致性模型。
二、原理简述:
Redis主从复制可以根据是否是全量分为全量同步和增量同步。
全量同步:
Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。
增量同步:
Redis增量复制是指Slave初始化后开始正常工作时主服务器发生的写操作同步到从服务器的过程。
增量复制的过程主要是主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服务器接收并执行收到的写命令。
两主两从原理:启动四台虚拟机,将其中一台设置问主,三台从。其中把一台从的slave-priprity的优先级和主机都设置为1。两台从机设置为100。并且把哨兵中IP都指向主。
三、安装配置
1、安装所需环境和工具
yum -y install wget vim tcl gcc make
2下载redis压缩包并解压
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz –C /data/server
3、编译redis源文件
cd redis-3.2.8
make
cd src
make install
3、关闭防火墙
Systemctl stop firewalld
Setemforce 0
4.修改配置文件
(1)主配置文件
1、主redis文件配置
vim /data/server/redis-3.2.8/redis.conf
2、主sentinel 配置文件
(2)从配置文件
1、要使redis配置为两主两从,让其中的一个从机 slave-priority 的优先级与主机相同
从redis配置文件
2、从sentinel配置文件
(3)、剩下两台从机的配置文件相同
1、redis配置文件
2、sentinel配置文件
三、测试redis
1、启动redis和sentinel:
redis-server resis.conf
redis-sentinel sentinel.conf
2、输入命令:redis-cli –h 192.168.43.29 (81、168、206)
192.168.43.29:6379>info replication
从机同样输入命令,看所属主机是否为192.168.43.29
例:192.168.43.81
3.输入命令set 建立一个键值对
4、在从机上是否可以查看主机创建的键值对
5、我们杀掉主机进程看二主是否能接替主机工作
(因为设置跟网络的原因,会有延迟)
成功替换为主机
6、重启主机并杀掉192.168.43.81这台替换上来的主机
我们可以看到主机启动,成功接替工作
以上是关于redis 两主两从+哨兵模式的主要内容,如果未能解决你的问题,请参考以下文章
Redis主从复制(一主两从三哨兵模式 演示示例)——图解版
docker-compose搭建redis集群一主两从三哨兵