当前位置: 首页 > news >正文

Redis-哨兵模式-主机宕机-推选新主机的过程

文章目录

  • 1、为哨兵模式准备配置文件
  • 2、启动哨兵
  • 3、主机6379宕机
    • 3.4、查看sentinel控制台日志
    • 3.5、查看6380主从信息
  • 4、复活6379
    • 4.1、再次查看sentinel控制台日志

1、为哨兵模式准备配置文件

[root@localhost redis]# ll
总用量 244
drwxr-xr-x. 2 root root    150 126 2023 bin
-rw-r--r--. 1 root root     89 624 14:16 dump6379.rdb
-rw-r--r--. 1 root root    173 624 14:18 dump6380.rdb
-rw-r--r--. 1 root root     89 624 14:19 dump6381.rdb
-rw-r--r--. 1 root root     89 1220 2023 dump.rdb
-rw-r--r--. 1 root root    207 624 12:33 redis_6379.conf
-rw-r--r--. 1 root root    207 624 12:47 redis_6380.conf
-rw-r--r--. 1 root root    207 624 12:52 redis_6381.conf
-rw-r--r--. 1 root root 106547 624 13:59 redis_common.conf
-rw-r--r--. 1 root root 106546 126 2023 redis.conf
[root@localhost redis]# vim sentinel.conf

在这里插入图片描述

sentinel monitor mymaster 192.168.74.148 6379 1

在这里插入图片描述

2、启动哨兵

在这里插入图片描述

[root@localhost redis]# /usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf 
7984:X 24 Jun 2024 15:59:36.245 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7984:X 24 Jun 2024 15:59:36.245 # Redis version=7.0.10, bits=64, commit=00000000, modified=0, pid=7984, just started
7984:X 24 Jun 2024 15:59:36.245 # Configuration loaded
7984:X 24 Jun 2024 15:59:36.245 * Increased maximum number of open files to 10032 (it was originally set to 1024).
7984:X 24 Jun 2024 15:59:36.245 * monotonic clock: POSIX clock_gettime_._                                                  _.-``__ ''-._                                             _.-``    `.  `_.  ''-._           Redis 7.0.10 (00000000/0) 64 bit.-`` .-```.  ```\/    _.,_ ''-._                                  (    '      ,       .-`  | `,    )     Running in sentinel mode|`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379|    `-._   `._    /     _.-'    |     PID: 7984`-._    `-._  `-./  _.-'    _.-'                                   |`-._`-._    `-.__.-'    _.-'_.-'|                                  |    `-._`-._        _.-'_.-'    |           https://redis.io       `-._    `-._`-.__.-'_.-'    _.-'                                   |`-._`-._    `-.__.-'    _.-'_.-'|                                  |    `-._`-._        _.-'_.-'    |                                  `-._    `-._`-.__.-'_.-'    _.-'                                   `-._    `-.__.-'    _.-'                                       `-._        _.-'                                           `-.__.-'                                               7984:X 24 Jun 2024 15:59:36.246 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
7984:X 24 Jun 2024 15:59:36.264 * Sentinel new configuration saved on disk
7984:X 24 Jun 2024 15:59:36.264 # Sentinel ID is 5d1670addf29afbffc1cf278f58a91b672f6b96c
7984:X 24 Jun 2024 15:59:36.264 # +monitor master mymaster 192.168.74.148 6379 quorum 1
7984:X 24 Jun 2024 15:59:36.265 * +slave slave 192.168.74.148:6380 192.168.74.148 6380 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 15:59:36.267 * Sentinel new configuration saved on disk
7984:X 24 Jun 2024 15:59:36.267 * +slave slave 192.168.74.148:6381 192.168.74.148 6381 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 15:59:36.271 * Sentinel new configuration saved on disk

3、主机6379宕机

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379 shutdown
[root@localhost ~]# 

3.4、查看sentinel控制台日志

7984:X 24 Jun 2024 16:10:27.455 # +sdown master mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.455 # +odown master mymaster 192.168.74.148 6379 #quorum 1/1
7984:X 24 Jun 2024 16:10:27.455 # +new-epoch 1
7984:X 24 Jun 2024 16:10:27.455 # +try-failover master mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.460 * Sentinel new configuration saved on disk
7984:X 24 Jun 2024 16:10:27.460 # +vote-for-leader 5d1670addf29afbffc1cf278f58a91b672f6b96c 1
7984:X 24 Jun 2024 16:10:27.460 # +elected-leader master mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.460 # +failover-state-select-slave master mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.561 # +selected-slave slave 192.168.74.148:6380 192.168.74.148 6380 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.561 * +failover-state-send-slaveof-noone slave 192.168.74.148:6380 192.168.74.148 6380 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.620 * +failover-state-wait-promotion slave 192.168.74.148:6380 192.168.74.148 6380 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.904 * Sentinel new configuration saved on disk
7984:X 24 Jun 2024 16:10:27.904 # +promoted-slave slave 192.168.74.148:6380 192.168.74.148 6380 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.904 # +failover-state-reconf-slaves master mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:27.992 * +slave-reconf-sent slave 192.168.74.148:6381 192.168.74.148 6381 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:28.935 * +slave-reconf-inprog slave 192.168.74.148:6381 192.168.74.148 6381 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:28.935 * +slave-reconf-done slave 192.168.74.148:6381 192.168.74.148 6381 @ mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:28.998 # +failover-end master mymaster 192.168.74.148 6379
7984:X 24 Jun 2024 16:10:28.998 # +switch-master mymaster 192.168.74.148 6379 192.168.74.148 6380
7984:X 24 Jun 2024 16:10:28.998 * +slave slave 192.168.74.148:6381 192.168.74.148 6381 @ mymaster 192.168.74.148 6380
7984:X 24 Jun 2024 16:10:28.998 * +slave slave 192.168.74.148:6379 192.168.74.148 6379 @ mymaster 192.168.74.148 6380
7984:X 24 Jun 2024 16:10:29.002 * Sentinel new configuration saved on disk
7984:X 24 Jun 2024 16:10:59.012 # +sdown slave 192.168.74.148:6379 192.168.74.148 6379 @ mymaster 192.168.74.148 6380

在这里插入图片描述

此时发现推选6380为主机

3.5、查看6380主从信息

127.0.0.1:6380> info replication
Error: Broken pipe
not connected> 

需要重新启动6380客户端连接redis,因为原先的主机6379发生宕机

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6380
127.0.0.1:6380> ping
PONG
127.0.0.1:6380> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.74.148,port=6381,state=online,offset=108933,lag=0
master_failover_state:no-failover
master_replid:78a6a3071e3ec590e70826d029320ccd1f91e0fa
master_replid2:bad8e16c55e217d4cab9aff4598fd83f84b74336
master_repl_offset:108933
second_repl_offset:52335
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:169
repl_backlog_histlen:108765
127.0.0.1:6380> 

4、复活6379

[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/redis_6379.conf
[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.74.148
master_port:6380
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_read_repl_offset:138273
slave_repl_offset:138273
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:78a6a3071e3ec590e70826d029320ccd1f91e0fa
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:138273
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:128045
repl_backlog_histlen:10229
127.0.0.1:6379> 

此时复活的6379变成6380的从机也就是奴隶

4.1、再次查看sentinel控制台日志

7984:X 24 Jun 2024 16:27:50.950 # -sdown slave 192.168.74.148:6379 192.168.74.148 6379 @ mymaster 192.168.74.148 6380
7984:X 24 Jun 2024 16:28:00.960 * +convert-to-slave slave 192.168.74.148:6379 192.168.74.148 6379 @ mymaster 192.168.74.148 6380

相关文章:

Redis-哨兵模式-主机宕机-推选新主机的过程

文章目录 1、为哨兵模式准备配置文件2、启动哨兵3、主机6379宕机3.4、查看sentinel控制台日志3.5、查看6380主从信息 4、复活63794.1、再次查看sentinel控制台日志 1、为哨兵模式准备配置文件 [rootlocalhost redis]# ll 总用量 244 drwxr-xr-x. 2 root root 150 12月 6 2…...

游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发

游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发 码客 卢益贵 ygluu 关键词:AI(AIGC、ChatGPT、文心一言)、流程式管理、好莱坞电影流程、电影工厂、游戏工厂、游戏开发流程、游戏架构、模块化开发 一、前言…...

每日一练 - OSPF 组播地址

01 真题题目 判断以下陈述是否正确: 224.0.0.6 是 ALL DRouters 监听地址 224.0.0.5 是 ALL SPFRouters 监听地址 A.正确 B.错误 02 真题答案 A 03 答案解析 在OSPF (Open Shortest Path First) 路由协议中,为了实现高效的信息交换和发现邻居&#x…...

AMHS工程师的培养

一、岗位职责主要包括: 1. 负责生产现场设备运行维护及异常处理,确保设备安全操作与保养。 2. 制定并实施AMHS计划和措施,对过程问题进行追踪解决。 3. 监控生产过程中的不良品率,确保生产过程的稳定性。 4. 建立AMHS标准作业程序文件,并定期更新和维护。 5. 负责AMHS…...

如何在前端项目中制定代码注释规范

本文是前端代码规范系列文章,将涵盖前端领域各方面规范整理,其他完整文章可前往主页查阅~ 开始之前,介绍一下​最近很火的开源技术,低代码。 作为一种软件开发技术逐渐进入了人们的视角里,它利用自身独特的优势占领市…...

一位苹果手机硬件工程师繁忙的一天

早晨:迎接新的一天 7:00 AM - 起床 早晨七点准时起床。洗漱、吃早餐后,查看手机上的邮件和消息,以便提前了解今天的工作安排和优先事项。 7:30 AM - 前往公司 开车前往位于加州库比蒂诺的苹果总部。在车上习惯性地听一些与电子工程相关的播…...

Python | 使用均值编码(MeanEncoding)处理分类特征

在特征工程中,将分类特征转换为数字特征的任务称为编码。 有多种方法来处理分类特征,如OneHotEncoding和LabelEncoding,FrequencyEncoding或通过其计数替换分类特征。同样,我们可以使用均值编码(MeanEncoding)。 均值编码 均值…...

面试-java异常体系

1.java异常体系 error类是指与jvm相关的问题。如系统崩溃,虚拟机错误,内存空间不足。 非runtime异常不处理,程序就没有办法执行。 一旦遇到异常抛出,后面的异常就不会进行。 (1)常见的error以及exception 2.java异常要点分析…...

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库,性能强是建立在专业运维之上的,需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批…...

变工况下转子、轴承数据采集及测试

1.固定工况下的数据采集 1.wireshark抓包 通过使用 Wireshark 抓包和 Linux 端口重放技术,可以模拟实际机械设备的运行环境,从而减少实地验证软件和算法的复杂性和麻烦。 打开设备正常运转,当采集器通过网口将数据发送到电脑时&#xff0c…...

泰迪智能科技与成都文理学院人工智能与大数据学院开展校企合作交流

近日,在推动高等教育与产业深度融合的背景下,成都文理学院人工智能与大数据学院携手广东泰迪智能科技股份有限公司开展“专业建设交流会”。人工智能与大数据学院院长胡念青、院长助理陈坚、骨干教师刘超超、孙沛、赵杰、文运、胡斌、邹杰出席本次交流会…...

ubuntu22.04安装初始化

目录 1. 概述2. 修改参数3. 修改限制4. 修改源6. 虚拟机关闭swap分区7. 配置系统信息7.1 设置主机名7.2 设置时区7.3 安装常用工具包7.4 设置时间同步7.5 关闭 selinux 1. 概述 CentOS 7 马上就停止支持服务了,未雨绸缪,整理Ubuntu 22.04的 初始化脚本。…...

学习新语言方法总结(一)

随着工作时间越长,单一语言越来越难找工作了,需要不停地学习新语言来适应,总结一下自己学习新语言的方法,这次以GO为例,原来主语言是PHP ,自学GO 了解语言特性,知道他是干嘛的 go语言&#xff0…...

Mysql数据的备份与恢复

一.备份概述 备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 1.数据备份的重要性 在企业中数据的价值至关重要,数据保障了企业业务的正常运行。因此,数据的安全性及数据的可靠性是运维的重中之重&…...

规上!西安市支持培育商贸企业达限纳统应统尽统申报奖励补助要求政策

西安市支持培育商贸企业达限纳统应统尽统工作方案 为加快培育消费市场主体,支持商贸企业扩大经营、做大做强,指导企业达限纳统、应统尽统,不断扩大我市限额以上商贸企业数量规模,促进全市经济社会高质量发展,结合我市…...

Go语言测试第二弹——基准测试

在前一篇文章中,我们讲解了Go语言中最基础的单元测试,还没有看过的可以自行去查看,这篇文章我们详细了解Go语言里面的基准测试。 基准测试 基准测试,也就是BenchmarkTest,基准测试是用来测试代码性能的的一种方法&…...

关于“刘亦菲为什么无人敢娶”的问题❗❗❗

关于“刘亦菲为什么无人敢娶”的问题, 实际上涉及到多个方面的因素, 以下是对这些因素的详细分析:1.事业心重:刘亦菲作为华语影视圈的知名女星,她的演艺事业非常成功, 这也意味着她将大量的时间和精力投…...

LeetCode:经典题之141、142 题解及延伸

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …...

rk3568 OpenHarmony 串口uart与电脑通讯开发案例

一、需求描述: rk3568开发板运行OpenHarmony4.0,通过开发板上的uart串口与电脑进行通讯,相互收发字符串。 二、案例展示 1、开发环境: (1)rk3568开发板 (2)系统:OpenHar…...

canvas画布旋转问题

先说一下为什么要旋转的目的:因为在画布上签名,在不同的设备上我需要不同方向的签名图片,电脑是横屏,手机就是竖屏,所以需要把手机的签名旋转270,因此写了这个方法。 关于画布旋转的重点就是获取到你的画布…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...