redis哨兵系统框架部署

news2024/12/24 0:06:13

 redsi主从配置 

下面是基于redis主从的环境部署哨兵模式

 1、在配置好redis主从后,添加哨兵模式需要在sentinel.conf文件添加一条命令(主从节点都需要添加)

  • mymaster 是主节点的别名。
  • 192.168.25.129 是主节点的 IP。
  • 6379 是主节点的端口。
  • 2 是仲裁值,表示至少需要 2 个 Sentinel 同意,才认为主节点确实已经宕机。
sentinel monitor mymaster 192.168.25.129 6379 2

2、优先启动主节点的sentinel (前台启动可以看启动日志,在启动从节点的俩个sentinel )

 [root@k8s-129 conf]# redis-sentinel sentinel.conf

 3、在截图中可以看到我们Sentinel 检查到节点

 4、登录查看当前的信息 主节点还是129

[root@k8s-129 redis]# redis-cli -p 26379
127.0.0.1:26379> sentinel master mymaster
 1) "name"
 2) "mymaster"
 3) "ip"
 4) "192.168.25.129"
 5) "port"
 6) "6379"
 7) "runid"
 8) "fbfc6ff0bf932f530177f22c786f5639080afdeb"
 9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "27"
19) "last-ping-reply"
20) "27"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "3847"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "658667"
29) "config-epoch"
30) "0"
31) "num-slaves"
32) "2"
33) "num-other-sentinels"
34) "2"
35) "quorum"
36) "2"
37) "failover-timeout"
38) "180000"
39) "parallel-syncs"
40) "1"
127.0.0.1:26379>

5、验证

断掉主节点redis

[root@k8s-129 redis]# ps -ef|grep redis
root      10313      1  0 14:32 ?        00:01:03 ./bin/redis-server 0.0.0.0:6379
root      44118  12647  0 16:37 pts/1    00:00:00 redis-sentinel *:26379 [sentinel]
root      44284   2327  0 16:38 pts/0    00:00:00 grep --color=auto redis
[root@k8s-129 redis]# kill -9 10313

 

查看其它俩个从节点的redis日志

开始是一直在刷新主节点是连接失败的,就选择新的节点作为主,在同步数据

6648:S 05 Jul 2024 16:39:13.988 * Connecting to MASTER 192.168.25.129:6379
6648:S 05 Jul 2024 16:39:13.988 * MASTER <-> REPLICA sync started
6648:S 05 Jul 2024 16:39:13.989 # Error condition on socket for SYNC: Connection refused
6648:S 05 Jul 2024 16:39:14.994 * Connecting to MASTER 192.168.25.129:6379
6648:S 05 Jul 2024 16:39:14.995 * MASTER <-> REPLICA sync started
6648:S 05 Jul 2024 16:39:14.995 # Error condition on socket for SYNC: Connection refused
6648:S 05 Jul 2024 16:39:16.002 * Connecting to MASTER 192.168.25.129:6379
6648:S 05 Jul 2024 16:39:16.002 * MASTER <-> REPLICA sync started
6648:S 05 Jul 2024 16:39:16.003 # Error condition on socket for SYNC: Connection refused
6648:S 05 Jul 2024 16:39:17.010 * Connecting to MASTER 192.168.25.129:6379
6648:S 05 Jul 2024 16:39:17.011 * MASTER <-> REPLICA sync started
6648:S 05 Jul 2024 16:39:17.011 # Error condition on socket for SYNC: Connection refused
6648:S 05 Jul 2024 16:39:17.326 * Connecting to MASTER 192.168.25.133:6379
6648:S 05 Jul 2024 16:39:17.326 * MASTER <-> REPLICA sync started
6648:S 05 Jul 2024 16:39:17.327 * REPLICAOF 192.168.25.133:6379 enabled (user request from 'id=9 addr=192.168.25.133:54988 laddr=192.168.25.130:6379 fd=12 name=sentinel-a5450c35-cmd age=1072 idle=0 flags=x db=0 sub=0 psub=0 multi=4 qbuf=345 qbuf-free=32425 argv-mem=4 obl=45 oll=0 omem=0 tot-mem=49804 events=r cmd=exec user=default redir=-1')
6648:S 05 Jul 2024 16:39:17.333 # CONFIG REWRITE executed with success.
6648:M 05 Jul 2024 16:39:47.758 * Discarding previously cached master state.
6648:M 05 Jul 2024 16:39:47.758 # Setting secondary replication ID to 347a6808b596806c52e9c1ae71426e0753cfd5bb, valid up to offset: 227540. New replication ID is b0806c5a43256b7d504988ed75cf2c7be2b94b02
6648:M 05 Jul 2024 16:39:47.758 * MASTER MODE enabled (user request from 'id=16 addr=192.168.25.129:42880 laddr=192.168.25.130:6379 fd=11 name=sentinel-bdae4dd7-cmd age=30 idle=0 flags=x db=0 sub=0 psub=0 multi=4 qbuf=216 qbuf-free=32554 argv-mem=4 obl=45 oll=0 omem=0 tot-mem=49804 events=r cmd=exec user=default redir=-1')
6648:M 05 Jul 2024 16:39:47.762 # CONFIG REWRITE executed with success.
6648:M 05 Jul 2024 16:39:58.572 * Replica 192.168.25.133:6379 asks for synchronization
6648:M 05 Jul 2024 16:39:58.572 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '4a51f82c8459fe7d8c58ca00857e4613387c44e5', my replication IDs are 'b0806c5a43256b7d504988ed75cf2c7be2b94b02' and '347a6808b596806c52e9c1ae71426e0753cfd5bb')
6648:M 05 Jul 2024 16:39:58.572 * Starting BGSAVE for SYNC with target: disk
6648:M 05 Jul 2024 16:39:58.573 * Background saving started by pid 21426
21426:C 05 Jul 2024 16:39:58.576 * DB saved on disk
21426:C 05 Jul 2024 16:39:58.577 * RDB: 0 MB of memory used by copy-on-write
6648:M 05 Jul 2024 16:39:58.605 * Background saving terminated with success
6648:M 05 Jul 2024 16:39:58.605 * Synchronization with replica 192.168.25.133:6379 succeeded

 进入redsi查看当前信息,以上就完成了整个环境的故障转移

[root@k8s-130 redis]# redis-cli -p 26379

127.0.0.1:26379> sentinel master mymaster
 1) "name"
 2) "mymaster"
 3) "ip"
 4) "192.168.25.130"
 5) "port"
 6) "6379"
 7) "runid"
 8) "90d9a73b638b602bab2e917c3041bc07294f6a44"
 9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "248"
19) "last-ping-reply"
20) "248"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "2532"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "404789"
29) "config-epoch"
30) "2"
31) "num-slaves"
32) "2"
33) "num-other-sentinels"
34) "2"
35) "quorum"
36) "2"
37) "failover-timeout"
38) "180000"
39) "parallel-syncs"
40) "1"
127.0.0.1:26379>

 6、在启动原主节点129,它并不会抢占主节点而是以从节点身份加入现有的环境

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Alibaba Cloud Toolkit前端使用proxy代理配置

1、vscode 先安装插件 Alibaba Cloud Toolkit 2、前端代码: /personnel: {// target: http://xxx.xx.xxx.xx:9100, // 测试环境// target: http://xxx.xx.xxx.xx:9200, // 线上环境target: http://127.0.0.1:18002, // toolkit 代理changeOrigin: true

好烦啊,1个SQL干崩核心系统长达12小时!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、 高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

Mac电脑iTerm2 如何设置无限滑动

1.打开iTerm2应用 2.打开偏好设置 3.选中Profiles -> Terminal 4.选择Unlimited scrollback

windows实现Grafana+Loki+loki4j轻量级日志系统,告别沉重的ELK

文章目录 Loki下载Loki下载安装Loki添加Loki数据源springboot日志推送 Loki下载 下载地址&#xff1a;https://github.com/grafana/loki/releases/ 找到loki-windows-amd64.exe.zip点击开始下载&#xff0c;我这里下载的2.9.9版本 Loki下载 下载地址&#xff1a;https://gr…

MySql主从同步延迟怎么办?

文章目录 什么是MySQL主从架构主从架构的组成工作原理主从复制的步骤主从架构的优点主从架构的缺点 什么是主从同步延迟为什么会导致主从延迟主从延时的排查和解决如果发现主从数据不一致怎么办&#xff1f; 我们常说的业务量越来越大&#xff0c;I/O访问频率过高&#xff0c;单…

栈实现队列与队列实现堆

ok呀&#xff0c;上一篇博客写了队列的相关知识&#xff0c;接下来就是我们提及过的&#xff0c;栈与队列的相互实现了。堆与这个问题咧&#xff0c;其实大家完全可以当一个知识扩展因为&#xff0c;这个问题也是没有太多的实践意义的&#xff0c;更多的是教学意义。所以咧。大…

Linux--信号(万字详解!超完整!)

目录 0.预备知识 0.1.基本概念 0.2.信号的捕捉 0.3.理解信号的发送与保存 1.信号的产生&#xff08;阶段一&#xff09; 1.通过kill命令&#xff0c;向指定进程发送指定的信号 2.通过终端按键产生信号&#xff1a;ctrlc&#xff08;信号2&#xff09;&#xff0c;ctrl\(…

2024暑假集训第二次考试

10062. Majority Opinion 思路分析 这道题就是一道思维题&#xff0c;这种题需要刻意练习&#xff0c;形成一定的思维模式用之前学过算法的原理去思考问题&#xff0c;而不是一味考验某一种算法的应用。 这道题就需要思考的是什么情况可以让这个奶牛爱吃同一种干草&#xff0c;…

ES6模块化学习

1. 回顾&#xff1a;node.js 中如何实现模块化 node.js 遵循了 CommonJS 的模块化规范。其中&#xff1a; 导入其它模块使用 require() 方法 模块对外共享成员使用 module.exports 对象 模块化的好处&#xff1a; 大家都遵守同样的模块化规范写代码&#xff…

免费的二级域名分发,您确定不要试试吗?

这是可爱的小盆友做的一个免费的二级域名&#xff0c;目前上线就送114514个积分&#xff0c;名额有限~ 首先进入>路明二级域名分发 - 免费稳定的二级域名分发服务 (kmyl.top)< 进来是这个样子&#xff08;如下图所示&#xff09; 话不多说&#xff0c;进入教程~ 第一章…

vue对axios进行请求响应封装

一、原因 像是在一些业务逻辑上&#xff0c;比如需要在请求之前展示loading效果&#xff0c;或者在登录的时候判断身份信息&#xff08;token&#xff09;等信息有没有过期&#xff0c;再者根据服务器响应回来的code码进行相应的提示信息。等等在请求之前&#xff0c;之后做的一…

跟着峰哥学java 微信小程序 第二天 封装ES7 + 后端工作

1.前端 1.1使用promise封装 使用promise封装以至于在图片路径 统一路径中修改 //封装统一请求域名 const baseUrl "http://localhost:8080"; //封装后需导出 export const getBaseUrl()>{return baseUrl; } 导入外来资源 初始化数据 设置数据 将处理后的数据…

高薪程序员必修课-JVM的内存区域以及对象创建过程

JVM内存区域 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;内存区域&#xff08;Memory Areas&#xff09;是对内存空间的逻辑划分&#xff0c;用于存储不同类型的数据和执行不同的操作。理解JVM的内存区域有助于优化程序性能、调优内存使用和排查内存相关的问题。下…

Java后端每日面试题(day1)

目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别&#xff1f;Spring Boot的优点Spring IoC是什么&#xff1f;说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值&#xff1f;如何理解Spring的SPI机制&#xff1f;Spr…

溶酶体靶向嵌合体制备方法和技术

网盘 https://pan.baidu.com/s/1dhCCryatp71j7yXTDdrrTw?pwdynr4 具有聚集诱导发光性质的比率型溶酶体pH探针及应用.pdf 内体-溶酶体转运靶向嵌合体降解剂及其制备方法与应用.pdf 可降解PDGFR-β的蛋白降解靶向嵌合体及其制备方法和应用.pdf 溶酶体膜包覆纳米颗粒的制备方法.…

19C 单机文件系统安装文档

准备工作 1)查看系统版本、内核参数 more /etc/redhat-release more /etc/redflag-releaseuname -a2)查看当前系统是否配置了HugePages。在下面的查询中&#xff0c;HugePages的几个相关值都为0&#xff0c;表明当前未配值HugePages&#xff0c;其次可以看到该版本的大页大小为…

科普文:微服务之服务网格Service Mesh

一、ServiceMesh概念 背景 随着业务的发展&#xff0c;传统单体应用的问题越来越严重&#xff1a; 单体应用代码库庞大&#xff0c;不易于理解和修改持续部署困难&#xff0c;由于单体应用各组件间依赖性强&#xff0c;只要其中任何一个组件发生更改&#xff0c;将重新部署整…

2024年7月5日 (周五) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 《乐高地平线大冒险》为何不登陆…

能否免费使用Adobe XD?

Adobe XD不是免费的。Adobe 目前XD采用订阅模式&#xff0c;提供订阅模式 7 每天试用期结束后需要付费购买&#xff0c;具体价格根据不同的订阅计划确定&#xff0c;包括每月购买&#xff0c;包括 9.99 美元或每月 99.99 美元&#xff0c;或者选择购买Adobe CreativeCloud整体订…

文件打开的系统错误分析流程

当用户出现“Open file failed”错误时&#xff0c;手动产生dump文件。 &#xff08;1&#xff09;打开资源管理器&#xff0c;选择AppNameXXX.exe进程&#xff0c;右击鼠标选择“创建转储文件” (2) 生成转储文件 3.获取用户转储文件 4.用Visual studio2015打开dump文件分析…