首页 > 数据库 >redis哨兵

redis哨兵

时间:2023-12-03 15:00:55浏览次数:42  
标签:00 slave redis 哨兵 master sentinel

妈耶,哨兵数=主从数。主从复制就三台了,六台我开不来。按尚硅谷的教程先把哨兵文件配在6379端口上的那台机器了

哨兵文件中的<quorum>代表确认客观下线的最少的哨兵数量

先启动哨兵

redis-sentinel /export/database/myredis/sentinel.conf --sentinel
ps -ef|grep redis
root       8690      1  0 13:41 ?        00:00:00 redis-sentinel 0.0.0.0:26379 [sentinel]
root      11229      1  0 13:42 ?        00:00:00 redis-sentinel 0.0.0.0:26380 [sentinel]
hadoop    11427      1  0 09:56 ?        00:00:19 redis-server *:6379
root      11494      1  0 13:42 ?        00:00:00 redis-sentinel 0.0.0.0:26381 [sentinel]
hadoop    28454 117793  0 13:47 pts/0    00:00:00 grep --color=auto redis

哨兵启动成功

在接下来手动模拟主库shutdown

两台从库将稍微断开连接后重新连接,此时其中一台slave被选举为master,shutdown的库会变成slave

此时新老master的redis.conf和sentinel.conf文件会在结尾发生变化,具体是老master结尾变成了slave,新master的slave行被抹去了

哨兵运行流程和选举原理

1.主观下线SDOWN:单个哨兵自己主观上发送了ping心跳后没有收到合法的回复(默认为30s)

2.客观下线DDOWN:多个哨兵达成一致意见认为master宕机了,这里使用的是quorum,官网写的是2

3.哨兵选兵王leader:先在哨兵中选出leader,再让leader选出slave变成master

3.1兵王的选举算法:raft算法

4.自动故障切换流程并选出新master:根据priorty权限>offset复制偏移量>runID(这是谁最小选谁,按ASCII)选出新的master

                 leader先让新master执行slaveof no one,再让其他slave改变master

                 leader会让老master上线后成为slave恢复正常工作。

这些步骤都由sentinel执行

 

sentinel配置建议:本身数量应该多一些,哨兵是高可用的集群,数量应该为奇数,物理配置应该尽量一致,哨兵+复制也不能0丢失

标签:00,slave,redis,哨兵,master,sentinel
From: https://www.cnblogs.com/kun1790051360/p/17872119.html

相关文章

  • Django连接Redis
    1、安装redis库pipinstalldjango-redis2、配置django中的settings.py#redis配置CACHES={"default":{"BACKEND":"django_redis.cache.RedisCache","LOCATION":"redis://127.0.0.1:6379......
  • 在Docker中安装Redis
    拉取Redis镜像:首先,你需要从DockerHub上拉取Redis的镜像。你可以使用以下命令来完成这个操作1:dockerpullredis:latest创建数据目录和配置文件:在你的宿主机上创建一个目录来存放Redis的配置文件和数据。你还需要为这个目录设置适当的权限1:mkdir-p/root/docker/redis/datamk......
  • Redis的持久化和复制
    今天,我们将探讨Redis的两个重要特性:持久化和复制。一、持久化:Redis提供了两种持久化方法,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。RDB:此方法是通过创建数据快照来实现持久化。你可以设置Redis在特定的时间间隔内,将数据写入一个磁盘文件。例如,你可以设置Redis每60秒创建一个......
  • Windows 下安装和配置 Redis (图文教程)
    ......
  • 基于社区电商的Redis缓存架构-写多读多场景下的购物车缓存架构
    社区电商的购物车缓存架构在购物车中的功能主要有这几个:商品加入购物车、查看购物车列表、删除购物车商品、选中购物车商品进行结算这里购物车的场景和之前用户信息以及菜谱分享信息还不同,如果在举办了大型购物活动时,购物车可能需要面临写多读少或者写多读多的场景,面临高并发的读和......
  • 如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
    缓存雪崩数据末加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。比如一个雪崩的简单过程1、redis集群大面积故障2、缓存失效,但依然大量请求访问缓存服务redis3、redis大量失效后,大量请求转向到mysql数据库4、mysql的......
  • 记录:k6性能脚本连接Redis取值
    为了捡起以前学过的一个性能框架k6,拿现在公司的项目来上手,打算业务测试之余拿系统的接口跑跑性能。本周的问题主要集中在k6脚本中引入redis的问题。因为项目系统的登录页面是涉及到验证码图片的,后端写了逻辑会把验证码的值写入在redis,所以登录的时候绕不开这个。再加上对......
  • redis锁
    publicclassRedisTag{/****@paramtagName*@paramtype1、开始2、结束*@paramredisTemplate*@return*/publicstaticbooleantag(StringtagName,Stringtype,RedisTemplate<String,String>redisTemplate){......
  • redis限流
    1、基于Redis的数据结构zset用的redis的zset来计数,score字段寸时间戳,每次请求增加一条数据,并按score移除超时的数据。最后在给整个key1加个过期时间2、基于Redis的令牌桶算法      ......
  • linux中redis的安装和设置开启自动启动
    一、安装redis第一步:下载redis安装包wgethttp://download.redis.io/releases/redis-4.0.6.tar.gz复制代码[root@iZwz991stxdwj560bfmadtZlocal]#wgethttp://download.redis.io/releases/redis-4.0.6.tar.gz第二步:解压压缩包tar-zxvfredis-4.0.6.tar.gz[root@iZwz991stxd......