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

Redis高阶之容错切换

当一台主机master宕掉之后,他的从机会取代主机么?

查看集群状态

127.0.0.1:6385> cluster nodes
c8ff33e8da5fd8ef821c65974dda304d2e3327f9 192.168.58.129:6382@16382 slave f6b1fd5e58df90782f602b484c2011d52fc3482d 0 1733220836918 1 connected
6656947825a5aed22e4ce1818c1e743739219374 192.168.58.212:6386@16386 slave 437c0ffe1015fc8c7049cfeb0af05fee17e4b0a1 0 1733220835000 5 connected
73b5567a02ee9f958f00324bf25bee5ce8eb23bc 192.168.58.130:6384@16384 slave e1dafb251016aeaa59edf64c4f7bb3d4639f560a 0 1733220834890 3 connected
f6b1fd5e58df90782f602b484c2011d52fc3482d 192.168.58.212:6385@16385 myself,master - 0 0 1 connected 0-5460
437c0ffe1015fc8c7049cfeb0af05fee17e4b0a1 192.168.58.130:6383@16383 master - 0 1733220835395 5 connected 10923-16383
e1dafb251016aeaa59edf64c4f7bb3d4639f560a 192.168.58.129:6381@16381 master - 0 1733220836410 3 connected 5461-10922

停掉主机6385

127.0.0.1:6385> SHUTDOWN(10.02s)
not connected> 
not connected> 
not connected> 
not connected> 

使用redis-cli命令进入redis再次查看集群状态

127.0.0.1:6382> info replication
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:f292ca63e04db6e7717cc5067f408bf733963bb2
master_replid2:6ab6cdfeb1902aaa71279434c6b2c0e46d28a7f4
master_repl_offset:0
second_repl_offset:1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:6382> cluster nodes
437c0ffe1015fc8c7049cfeb0af05fee17e4b0a1 192.168.58.130:6383@16383 master - 0 1733221855390 5 connected 10923-16383
f6b1fd5e58df90782f602b484c2011d52fc3482d 192.168.58.212:6385@16385 master,fail - 1733221087102 1733221084545 1 disconnected
6656947825a5aed22e4ce1818c1e743739219374 192.168.58.212:6386@16386 slave 437c0ffe1015fc8c7049cfeb0af05fee17e4b0a1 0 1733221854869 5 connected
73b5567a02ee9f958f00324bf25bee5ce8eb23bc 192.168.58.130:6384@16384 slave e1dafb251016aeaa59edf64c4f7bb3d4639f560a 0 1733221853318 3 connected
e1dafb251016aeaa59edf64c4f7bb3d4639f560a 192.168.58.129:6381@16381 master - 0 1733221855000 3 connected 5461-10922
c8ff33e8da5fd8ef821c65974dda304d2e3327f9 192.168.58.129:6382@16382 myself,master - 0 1733221854000 7 connected 0-5460

6382成功上位成为主机

那么6385原主机恢复之后,是否会重新上位?

不会!

当前的集群状态:

127.0.0.1:6382> cluster nodes
437c0ffe1015fc8c7049cfeb0af05fee17e4b0a1 192.168.58.130:6383@16383 master - 0 1733221855390 5 connected 10923-16383
f6b1fd5e58df90782f602b484c2011d52fc3482d 192.168.58.212:6385@16385 master,fail - 1733221087102 1733221084545 1 disconnected
6656947825a5aed22e4ce1818c1e743739219374 192.168.58.212:6386@16386 slave 437c0ffe1015fc8c7049cfeb0af05fee17e4b0a1 0 1733221854869 5 connected
73b5567a02ee9f958f00324bf25bee5ce8eb23bc 192.168.58.130:6384@16384 slave e1dafb251016aeaa59edf64c4f7bb3d4639f560a 0 1733221853318 3 connected
e1dafb251016aeaa59edf64c4f7bb3d4639f560a 192.168.58.129:6381@16381 master - 0 1733221855000 3 connected 5461-10922
c8ff33e8da5fd8ef821c65974dda304d2e3327f9 192.168.58.129:6382@16382 myself,master - 0 1733221854000 7 connected 0-5460

重新指定6385配置文件启动服务:
 

127.0.0.1:6385> cluster nodes
0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383@16383 master - 0 1733300452328 3 connected 5461-10922
91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384@16384 slave ba40235fdad71fb36c3bf165ea51055825d453c2 0 1733300451285 1 connected
be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385@16385 myself,slave fedf4b13be2122f44dde749a08c4b943582b3566 0 0 7 connected
30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386@16386 slave 0a820807a70885c1d87d141824d3869dcf2418ee 0 1733300452892 3 connected
ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381@16381 master - 0 1733300453572 1 connected 0-5460
fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382@16382 master - 0 1733300452659 7 connected 10923-16383

节点主从调整

当前集群状态6385为从,6382为主

127.0.0.1:6385> cluster nodes
0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383@16383 master - 0 1733301081028 3 connected 5461-10922
91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384@16384 slave ba40235fdad71fb36c3bf165ea51055825d453c2 0 1733301082183 1 connected
be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385@16385 myself,slave fedf4b13be2122f44dde749a08c4b943582b3566 0 0 7 connected
30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386@16386 slave 0a820807a70885c1d87d141824d3869dcf2418ee 0 1733301082954 3 connected
ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381@16381 master - 0 1733301082057 1 connected 0-5460
fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382@16382 master - 0 1733301081260 7 connected 10923-16383

执行命令cluster favlover ,主从节点调整,6385为主,6382为从

127.0.0.1:6385> cluster nodes
0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383@16383 master - 0 1733301262000 3 connected 5461-10922
91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384@16384 slave ba40235fdad71fb36c3bf165ea51055825d453c2 0 1733301261585 1 connected
be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385@16385 myself,master - 0 0 8 connected 10923-16383
30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386@16386 slave 0a820807a70885c1d87d141824d3869dcf2418ee 0 1733301262869 3 connected
ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381@16381 master - 0 1733301263074 1 connected 0-5460
fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382@16382 slave be191621d4aa881d864a113c385d58b751753392 0 1733301261700 8 connected

命令补充

当主节点宕掉之后,从节点没有上位成为主机使用如下命令强制提升为主机

redis-cli -p 6382 cluster failover force

6382 节点执行重新加入集群命令

redis-cli -a 111111 -p 6382 cluster meet 192.168.58.212 6385

 

相关文章:

Redis高阶之容错切换

当一台主机master宕掉之后,他的从机会取代主机么? 查看集群状态 127.0.0.1:6385> cluster nodes c8ff33e8da5fd8ef821c65974dda304d2e3327f9 192.168.58.129:638216382 slave f6b1fd5e58df90782f602b484c2011d52fc3482d 0 1733220836918 1 connecte…...

蓝桥杯准备训练(lesson2 ,c++)

3.1 字符型 char //character的缩写在键盘上可以敲出各种字符,如: a , q , , # 等,这些符号都被称为字符,字符是⽤单引号括 起来的,如: ‘a’ , ‘b’ &…...

【力扣】2094.找出3为偶数

思路 方法一:使用Set集合 1.首先是三层for循环,遍历,并且遇到不满足的情况,便跳过,继续计算。不如前导为0,以及遍历同一个数组下标的情况 2.使用Set集合来确保答案是唯一的,使用桶来标记也是可以的 3.但是…...

利用红黑树封装map,和set,实现主要功能

如果不知道红黑树是什么的时候可以去看看这个红黑树 思路 首先我们可以把封装分为两个层面理解,上层代码就是set,和map,底层就是红黑树 就相当于根据红黑树上面套了两个map,set的壳子,像下面这张图一样 对于map和set,map里面存…...

网络(TCP)

目录 TCP socket API 详解 套接字有哪些类型?socket有哪些类型? 图解TCP四次握手断开连接 图解TCP数据报结构以及三次握手(非常详细) socket缓冲区以及阻塞模式详解 再谈UDP和TCP bind(): 我们的程序中对myaddr参数是这样…...

CSS 选择器的优先级

一、基本概念 CSS 选择器的优先级决定了在样式冲突时,哪个样式规则将被应用到 HTML 元素上。通过理解 CSS 选择器的优先级,可以更好地控制网页元素的样式,避免样式冲突。 二、优先级计算规则 1. 内联样式 内联样式具有最高的优先级。 &l…...

留学生数学辅导作业随机过程高等线性代数概率论微积分优化统计

针对留学生数学辅导作业中的随机过程、高等线性代数、概率论、微积分、优化以及统计等科目,以下是一些详细的辅导建议和资源概述: 一、随机过程 概念理解: 随机过程是研究随机现象随时间演变的数学分支。它涉及概率论和数理统计的知识&#…...

移动机器人课程建图实验-ROSbug汇总

问题1描述 $ rosrun robot_state_publisher robot_state_publisher [ERROR] [1733131886.474757207]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...解决方案 这个错误信息表明 robot_state_publisher 节点无法联系到 ROS master。通常&…...

小家电出海,沃丰科技助力保障售后服务的及时性与高效性

随着全球化步伐的加快,小家电行业也逐渐迈向国际市场,面向全球消费者提供服务。然而,跨国界的销售和服务挑战也随之而来,尤其是售后服务的及时性与高效性成为了企业亟需解决的问题。沃丰科技凭借其全渠道在线客服、工单系统和视频…...

vscode 如何支持点击跳转函数,以C++为例,Python等其它编程语言同理,Visual Studio Code。

VScode(Visual Studio Code)按住Ctrl鼠标左键,没法跳转到对应的函数怎么办。 如下图所示 1、点击有四个小方块的图标 2、输入C(如果你的编程语言是C,其它的就输其它的) 3、找到C Extension(其它编程语言&#xff0…...

创建子类对象时,会创建父类对象吗

一、查询网上的结论: 创建子类对象时, 会先调用子类构造方法对子类对象进行初始化,子类构造方法的第一行又会调用父类构造方法对父类进行初始化(不会创建父类对象, 但是会在子类对象的内存空间中开辟一块被包含的内存空间存储父类…...

华为、华三交换机纯Web下如何创关键VLANIF、操作STP参数

华为交换机WEB操作 使用的是真机S5735,目前主流的版本都适用(V1R5~V2R1的就不在列了,版本太老了,界面完全不一样,这里调试线接的console口,电脑的网络接在ETH口) 「模拟器、工具合集」复制整段内…...

MongoDB分片集群架构实战

分片集群架构 分片简介 分片(shard)是指在将数据进行水平切分之后,将其存储到多个不同的服务器节点上的一种扩展方式。分片在概念上非常类似于应用开发中的“水平分表”。不同的点在于,MongoDB本身就自带了分片管理的能力&#…...

架构 | 调优 - [zookeeper]

INDEX 0 实际使用的 zoo.cfg1 基础知识1.1 官网文档1.2 日志相关配置1.3 tick 时间 0 实际使用的 zoo.cfg ### 时间配置 ### 一个tick(滴答)的毫秒数,时间单位,可以认为是心跳时间 tickTime2000 ### follower 连接 leader 并与之…...

威联通-004 安装photoview相册应用Docker镜像

文章目录 前言准备MariaDB 10phpMyAdminphotoview 安装步骤1.安装MariaDB 10和phpMyAdmin2.初始安装MariaDB 103.进入phpMyAdmin添加账户4.手动下载photoview的Docker库注意:安装 phpMyAdmin 报错5.配置photoview6.容器安装成功之后进入photoview注意:这…...

Github clone 的时候出现Error in the HTTP2 framing layer错误

解决方案 github鉴权认证,打开gitbash,并输入 ssh-keygen -t rsa -C "emailicjs.cc" 执行后会在 .ssh 目录生产两个文件:id_rsa(私有密钥)和id_rsa.pub(公开密钥) 直接默认回车执行…...

SpringBoot中@Import和@ImportResource和@PropertySource

1. Import Import注解是引入java类: 导入Configuration注解的配置类(4.2版本之前只可以导入配置类,4.2版本之后也可以导入普通类)导入ImportSelector的实现类导入ImportBeanDefinitionRegistrar的实现类 SpringBootApplication…...

OpenCV 简介与安装方法

大家好啊,我是董董灿。 如果你在做计算机视觉相关的工作,肯定少不了使用 OpenCV 库。 在《计算机视觉专栏》的传统计算机视觉部分,我曾经使用 OpenCV 进行了很多图像的处理,比如边缘检测。 刚好最近在整理一份文稿,…...

pycharm基本库安装的几种方法

1、pycharm基本库安装的几种方法 1)一次性设置下载源 cmd窗口(管理员方式).输入以下命令: pip config set global.index-url http://pypi.tuna.tsinghua.edu.cn/simple pip config set global.trusted-host pypi.tuna.tsinghu…...

安装更新upgrade导致ubuntu崩溃

安装更新导致ubuntu崩溃 前言uuid编不过,导致的崩溃 记录一些ubuntu崩溃的过程。 目前只有一个,以后遇到都放在这里,以提醒自己。 前言 如果从10000年看现在的linux,不是说不完美,而是糟透了。 linux的版本号&#xf…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

12.找到字符串中所有字母异位词

🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...