Linux-redis 集群配置

5 篇文章 0 订阅

1、redis主从复制(Master/Slave)

a、集群结构

三个节点:一个主节点,二个从节点

b、准备实例和配置

在虚拟机开启3个redis 实例,来模拟主从集群模式,信息如下:

ippost角色
192.168.150.1017001master
192.168.150.1017002slave
192.168.150.1017003slave

1,在redis 目录下建三个文件夹:  

2,把redis.conf 分别复制到三个文件夹中:

 cp /redis/redis-6.0.6/redis.conf /redis/7001
 cp /redis/redis-6.0.6/redis.conf /redis/7002
 cp /redis/redis-6.0.6/redis.conf /redis/7003

3,修改文件中端口,RDB文件存放位子,redis实例声明的IP

例如7001实例:

dir ../../7001
port 7001
replica-announce-ip 192.168.150.101 

4,启动三个服务进入src 目录下

例如启动7001实例:

./redis-server ../../7001/redis.conf 

 

对应7002 7003重复以上操作

5,连接redis客户端

例如连接7001实例:

./redis-cli -p 7001 

c、开启主从关系

通过命令建立主从关系:

例如连接7002客户端,执行命令,便是7002 是7001的从节点

SLAVEOF 127.0.0.1 7001

主从同步原理  

原理:从节点第一次发送请求带上自己的replid 和offset ,主节点判断和自己的replid 是否一致,传给从节点replid 和offset,从节点保存版本信息,主节点执行bgsave 生成RDB 文件,并同步给从节点,从节点加载RDB文件实现数据同步,这时如果主节点发生修改操作,会生成一个repl-baklog 日志。

创建主从关系之后,进入7001可通过info replication查看

然后可以通过7001 set 放入数据,然后7002 和 7003 都可以共享查询 

2、哨兵模式(sentinel)

万一主节点宕机了怎么办?

监控:sentinel不断的检查您的master和slave 是否按预期执行

自动故障恢复:如果master故障,sentinel会将一个slave提升为master,当故障实例恢复后也已新的新的master为主

通知:sentinel充当redis客户端的服务发现来源,当集群发生故障转移时,会将最新信息推送给redis客户端

sentinel服务状态检测,每隔一秒向集群每个实例发送ping 命令

主观下线:如果某个sentinel节点发现某实例未在规定时间响应,则认为该实例主观下线

客观下线:若超过执行数量(quornum)的sentinel都认为该实例下线,则该实例客观下线,(quornum数最好超过实例总数一半)

ippost角色
127.0.0.127001master
127.0.0.127002slave
127.0.0.127003slave

 1,在redis 目录下建三个文件夹:

2,新建文件sentinel.conf

以27001为例:

port 27001
sentinel monitor mymaster 127.0.0.1 7001 2
sentinel down-after-milliseconds mymaster 50000
sentinel failover-timeout mymaster 180000
dir "/testapp/s1"

 3,启动,进入src 目录

 redis-sentinel ../../s1/sentinel.conf

 

启动哨兵成功,s2和s3同样操作 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值