首页 > 数据库 >Redis集群-哨兵模式搭建(1主2从3哨兵节点)

Redis集群-哨兵模式搭建(1主2从3哨兵节点)

时间:2023-06-12 14:45:37浏览次数:49  
标签:Redis redis 192.168 哨兵 6379 master sentinel 节点

Redis集群-哨兵模式搭建(1主2从3哨兵节点)

原创 北极星 运维记事 2023-04-20 22:47 发表于四川 收录于合集#redis8个

主机规划

类型IP地址端口号
192.168.77.145 6379
从1 192.168.77.146 6379
从2 192.168.77.147 6379
哨兵1 192.168.77.145 26379
哨兵2 192.168.77.146 26379
哨兵3 192.168.77.147 26379

1主2从搭建

见主从复制搭建,Redis集群-主从复制搭建

哨兵配置

哨兵配置每个节点执行。

从安装包中,复制哨兵配置文件到redis配置中,作为哨兵节点的配置文件

 cp /opt/redis-7.0.4/sentinel.conf /opt/redis/conf/

编辑哨兵配置文件修改内容如下:

port 26379 #设置为后台启动 daemonize yes pidfile "/opt/redis/tmp/redis-sentinel.pid" logfile "/opt/redis/logs/redis-sentinel.log" dir "/opt/redis" #哨兵sentinel监控的redis主节点的 ip port  sentinel monitor mymaster 192.168.77.145 6379 2 #当在Redis实例中开启了requirepass,所有连接Redis实例的客户端都要提供密码。需要注意的是,master实例也需要配置masterauth,否则master实例下线重新上线后,会无法加入到集群中 sentinel auth-pass mymaster 123456

启动哨兵服务

 /opt/redis/bin/redis-sentinel /opt/redis/conf/sentinel.conf

哨兵配置查看

 [root@dba Wed Apr 19 09:38 ~]# redis-cli -p 26379 info Sentinel # Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_tilt_since_seconds:-1 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:name=mymaster,status=ok,address=192.168.77.145:6379,slaves=2,sentinels=3

模拟故障转移

关闭主节点192.168.77.145:6379,间隔一会后再次查看可以看到master节点变为了192.168.77.147:6379

[root@dba Wed Apr 19 09:40 ~]# redis-cli -a 123456 shutdown [root@dba Wed Apr 19 09:42 ~]# redis-cli -p 26379 info Sentinel # Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_tilt_since_seconds:-1 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:name=mymaster,status=ok,address=192.168.77.147:6379,slaves=2,sentinels=3

在选举后的master节点192.168.77.147:6379上查看当前仅有192.168.77.146:6379节点在线,192.168.77.145:6379因为已经shutdown了

 [root@dbc ~]# redis-cli -a 123456 info replication # Replication role:master connected_slaves:1 slave0:ip=192.168.77.146,port=6379,state=online,offset=1114835,lag=1 master_failover_state:no-failover master_replid:c556a04bd19dfc7627743569c9f2613dc8a7232b master_replid2:ce16d352e923b9c77de6dd925f289dcd27e590ca master_repl_offset:1115121 second_repl_offset:1090349 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1051856 repl_backlog_histlen:63266

启动恢复192.168.77.145:6379节点服务,并再次在检查发现之前shutdown掉的主节点192.168.77.145:6379变为了从节点了加入了当前集群。

 [root@dbc ~]# redis-cli -a 123456 info replication # Replication role:master connected_slaves:2 slave0:ip=192.168.77.146,port=6379,state=online,offset=1147649,lag=0 slave1:ip=192.168.77.145,port=6379,state=online,offset=1147792,lag=0 master_failover_state:no-failover master_replid:c556a04bd19dfc7627743569c9f2613dc8a7232b master_replid2:ce16d352e923b9c77de6dd925f289dcd27e590ca master_repl_offset:1147958 second_repl_offset:1090349 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1051856 repl_backlog_histlen:96103

图片

收录于合集 #redis  8个 上一篇Redis集群-主从复制搭建 阅读 207   运维记事 30篇原创内容 收藏此内容的人还喜欢   Linux中的系统调用是怎么回事?     运维漫谈 不看的原因   推荐10个免费的 Linux 客户端连接工具!     Python 集中营 不看的原因   网页版的 Redis 可视化工具来了,已开源!     马哥Linux运维 不看的原因      

标签:Redis,redis,192.168,哨兵,6379,master,sentinel,节点
From: https://www.cnblogs.com/cherishthepresent/p/17474996.html

相关文章

  • 通过redis学网络(2)-redis网络模型
    本系列主要是为了对redis的网络模型和集群原理进行学习,我会用golang实现一个reactor网络模型,并实现对redis协议的解析。系列源码已经上传githubhttps://github.com/HobbyBear/tinyredis/tree/chapter2redis网络模型在介绍redis网络模型前,我们先来看看redis的一条命令执行......
  • Redis两种持久化机制RDB和AOF详解
    redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。在这里假设你已经了解了redis的基础语法,某字母网站都有很好的教程,可以去看。基本使用的文章......
  • 2023.6.12 树节点的第k个祖先
    可以借鉴一下求LCA问题中的倍增思想。用fa[i][j]表示i号节点的第\(2^j\)个祖先。我们只需要用动态规划预处理出这个fa数组即可。求第k个祖先,可以将k用二进制拼凑的方法划分成若干个2的整数次幂,然后利用fa数组对应地进行若干次跳跃即可,单个询问的时间复杂度\(O(logn)\)。这里由......
  • Navicat For Redis 的学习与使用
    NavicatForRedis的学习与使用背景周末在家看了几个公众号:说到Navicat16.2已经有了Redis的客户端.想着前段时间一直在学习Redis,但是没有GUI的工具,所以想可以试用一下.这里简单总结和记录一下最新版的下载地址#最新版的集合版本premium里面包含多种数据库的......
  • redis四种模式
    1、单机模式单机模式就是在一台服务器上安装redis,然后启动,所有业务都调用这一台redis服务器。优点:部署简单,只需要在一台服务器上安装并启动redis就行。成本低,没有备用节点,不需要其他的开支。高性能,单机不需要同步数据,数据天然一致性。缺点:可靠性较弱,一旦服务器宕机,所有业务......
  • 黑马redis相关问题
    Redis相关面试题面试官:什么是缓存穿透?怎么解决?候选人:嗯~~,我想一下缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都......
  • 2023-06-11:redis中,如何在100个亿URL中快速判断某URL是否存在?
    2023-06-11:redis中,如何在100个亿URL中快速判断某URL是否存在?答案2023-06-11:传统数据结构的不足当然有人会想,我直接将网页URL存入数据库进行查找不就好了,或者建立一个哈希表进行查找不就OK了。当数据量小的时候,这么思考是对的,确实,将值映射到HashMap的Key,可以在O(1)的时间复杂度......
  • Redis数据类型之String
    1.string类型数据的基本操作添加/修改数据:setkeyvalue获取数据:getkey删除数据:delkey添加/修改多个数据:msetkeyvaluekey1value1获取多个数据:mgetkeykey1追加信息到原始数据后边(不存在时则添加):appendkeyvalue2.string类型增减操作设置数据增加指定范围的值:incrke......
  • leetcode 1171. 从链表中删去总和值为零的连续节点
    给你一个链表的头节点 head,请你编写代码,反复删去链表中由总和 值为0的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。你可以返回任何满足题目要求的答案。(注意,下面示例中的所有序列,都是对 ListNode 对象序列化的表示。)示例1:输入:he......
  • Redis服务的集中监控
    一:redmon的安装和使用1:安装rvm,rvm是rubyversionmanager的缩写,ruby语言是鬼子弄出来的,虽然不是程序员,我也一直不待见,真心觉得难用!#bash<<(curl-shttps://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)#echo'[[-s"$HOME/.rvm/scripts/rvm"]]&&......