Redis 7.2.x 主从复制+哨兵模式

IP操作系统服务版本
192.168.140.153CentOS 7redis-master,sentinel7.2.5
192.168.140.156CentOS 7redis-slave,sentinel7.2.5
192.168.140.159CentOS 7redis-slave,sentinel7.2.5

一、安装Redis + 配置主从复制

参考下面文档:

Redis 7.2.x 主从复制-CSDN博客文章浏览阅读59次。搭建 Redis 7.2.x 主从复制,一主一从https://blog.csdn.net/weixin_44295677/article/details/139475019?spm=1001.2014.3001.5502

二、配置哨兵

1、修改内核参数
vi /etc/sysctl.conf

vm.overcommit_memory = 1

# 0 (默认值): 启发式内存提交策略。内核会尝试猜测进程是否会真正使用它们请求的所有内存。是一个很好的默认设置,允许进程请求大量内存,而实际上可能并不需要这么多。
# 1: 总是允许内存提交。无论物理内存和交换空间是否足够,内核都会允许进程提交内存。会导致在内存不足时,系统无法分配更多的内存,并导致OOM(Out-Of-Memory)被激活,杀死一些进程以释放内存。
# 2: 使用/proc/meminfo中的CommitLimit值来决定是否允许内存提交。如果请求的内存加上当前已提交的内存超过了CommitLimit,那么内存提交会被拒绝。
2、修改配置
cp /opt/redis-7.2.5/sentinel.conf /opt/redis/
vi /opt/redis/sentinel.conf

# 修改内容如下
## 端口
port 26379
## 允许后台运行
daemonize yes
## 进程号存放位置
pidfile "/opt/redis/redis-sentinel.pid"
## 日志级别,如果想要更详细的可以设置成debug
loglevel notice
## 日志存放路径
logfile "/opt/redis/logs/redis-sentinel.log"
## 工作目录
dir "/opt/redis"
## 监听的主节点信息
sentinel monitor mymaster 192.168.140.153 6379 2
## sentinel判断redis主服务器下线所需要的时间,单位毫秒
sentinel down-after-milliseconds mymaster 10000
## redis主服务器故障转移的最大超时时间
sentinel failover-timeout mymaster 60000
## 故障转移时,最多允许几个从服务器同时向新的主服务器转移数据
sentinel parallel-syncs mymaster 2
## 向主服务器认证所需要的密码
sentinel auth-pass mymaster final123
3、创建服务脚本
vi /etc/systemd/system/sentinel.service

[Unit]
Description=Sentinel service
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/redis/bin/redis-sentinel /opt/redis/sentinel.conf --sentinel --daemonize no
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target
4、启动服务
systemctl daemon-reload

systemctl start sentinel.service

systemctl enable sentinel.service

三、测试

1、主服务器查看 主从复制相关信息

可以看到当前master是192.168.140.153

[root@localhost redis]# redis-cli -h 192.168.140.153
192.168.140.153:6379> auth final123
OK
192.168.140.153:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.140.156,port=6379,state=online,offset=957428,lag=1
slave1:ip=192.168.140.159,port=6379,state=online,offset=957283,lag=1
master_failover_state:no-failover
master_replid:9ec1820323cd826f2955176a75e99dbdfde51f30
master_replid2:2840abf8606e7ea7237bfa1f03225898e634d2a4
master_repl_offset:957428
second_repl_offset:396279
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:97903
repl_backlog_histlen:859526
2、启停主服务器的redis服务
# 停止主服务器的redis服务
systemctl stop redis.service

# 间隔10秒,等待故障转移完成,启动服务
systemctl start redis.service
3、查看sentinel日志

可以看到当前主节点已经转移到192.168.140.159机器上

[root@localhost redis]# tail -f logs/redis-sentinel.log
1460:X 05 Jun 2024 23:17:20.936 # +sdown slave 192.168.140.153:6379 192.168.140.153 6379 @ mymaster 192.168.140.159 6379
4、查看主节点是否转移

在159服务器查看redis主从信息,发现159的角色已经变为master,故障转移成功

[root@localhost redis]# redis-cli -h 192.168.140.159
192.168.140.159:6379> auth final123
OK
192.168.140.159:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.140.156,port=6379,state=online,offset=1074384,lag=0
slave1:ip=192.168.140.153,port=6379,state=online,offset=1074384,lag=0
master_failover_state:no-failover
master_replid:401449cc3f667d6032124da09b2002dbd1a36a52
master_replid2:9ec1820323cd826f2955176a75e99dbdfde51f30
master_repl_offset:1074384
second_repl_offset:967527
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:408285
repl_backlog_histlen:666100

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文略读:Onthe Expressivity Role of LayerNorm in Transformers’ Attention

ACL 2023 研究了LayerNorm在 Transformers 中对注意力的作用LayerNorm为Transformer的Attention提供了两个重要的功能: 投影,projection LayerNorm 帮助 Attention 设计一个注意力查询,这样所有的Key都可以平等地访问通过将Key向量投影到同一…

pinctrl 和 gpio 子系统实验学习

pinctrl 子系统主要工作内容如下: ①、获取设备树中 pin 信息。 ②、根据获取到的 pin 信息来设置 pin 的复用功能 ③、根据获取到的 pin 信息来设置 pin 的电气特性,比如上/下拉、速度、驱动能力等。 对于我们使用者来讲,只需要在设备树里面…

【计算机网络基础】OSI七层网络模型 TCPIP四层网络模型

文章目录 ISO介绍网络模型介绍OSI七层模型OSI七层模型介绍OSI七层特点一、TCP/IP四层模型介绍二、TCP/IP四层模型TCP/IP协议簇一次C/S通信 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分…

人工智能和机器学习这两个概念有什么区别?

什么是人工智能? 先来说下人工智能,人工智能(Artificial Intelligence),英文缩写为AI,通俗来讲就是用机器去做在过去只有人能做的事。 人工智能最早是由图灵提出的,在1950年,计算机…

【背就有效】软考中项计算公式汇总,简答题轻松拿下

宝子们注意啦!系统集成管理师的报名8月就要开始啦!你准备好迎接挑战了吗? 备考下半年软考的小伙伴们,在这里给大家准备了一份超实用的备考秘籍——系统集成项目管理工程师计算公式汇总。亲测有效,每天只需抽出一点时间…

数据库错误[ERR] 1071 - Specified key was too long; max key length is 1000 bytes

环境:phpstudy的mysql8 索引长度问题: 试了很多解决办法,例如需改配置: set global innodb_large_prefixON; set global innodb_file_formatBARRACUDA; 试了还是有问题,直接启动不了了。因为mysql8取消了这个配置。…

[linux]基于Ubuntu24.04原内核6.8.0升级到6.9.0

物理机操作系统: 虚拟机操作系统: Ubuntu 24.04 下载地址: https://mirror.nju.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso VM版本信息: 内核源代码来源: https://ftp.sjtu.edu.cn/sites/ftp.kern…

React+TS前台项目实战(六)-- 全局常用组件Button封装

文章目录 前言Button组件1. 功能分析2. 代码注释说明3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局按钮组件封装,可根据UI设计师要求自定义修改。 Button组件 1. 功能分析 (1)可以通过className属性自定义按钮样式,传递…

ZDH-智能营销-标签模块

目录 主题 项目源码 预览地址 安装包下载地址 标签模块 什么是标签 标签场景分类 标签设计 标签按照场景做了分类,但是运营人员需要感知到吗 标签按照场景做了分类,底层的计算引擎是否需要划分? 标签模块,是否需要涉及…

利安科技上市首日股价大涨:2023营收净利润下滑,募资金额大幅缩水

《港湾商业观察》施子夫 6月7日,宁波利安科技股份有限公司(以下简称,利安科技)正式在深交所创业板挂牌上市,股票简称为利安科技,股票代码300784。 上市当天,利安科技股价大涨348.76%。 2022年…

DriveWorld:一个预训练模型大幅提升检测+地图+跟踪+运动预测+Occ多个任务性能

1. 写在前面 以视觉为中心的自动驾驶技术近期因其较低的成本而引起了广泛关注,而预训练对于提取通用表示至关重要。然而,当前的以视觉为中心的预训练通常依赖于2D或3D预训练任务,忽视了自动驾驶作为4D场景理解任务的时序特征。这里通过引入一…

Golang | Leetcode Golang题解之第135题分发糖果

题目&#xff1a; 题解&#xff1a; func candy(ratings []int) int {n : len(ratings)ans, inc, dec, pre : 1, 1, 0, 1for i : 1; i < n; i {if ratings[i] > ratings[i-1] {dec 0if ratings[i] ratings[i-1] {pre 1} else {pre}ans preinc pre} else {decif dec…

mmdetection使用未定义backbone训练

首先找到你需要用到的 backbone&#xff0c;一般有名的backbone 都会在github有相应的代码开源和预训练权重提供 本文以mobilenetv3 fastercnn 作为举例&#xff0c;在mmdetection中并未提供 mobilenetv3&#xff0c;提供的仅有 mobilenetv2&#xff1b; 在github上找到 mobil…

Selenium三种等待方式的使用!

UI自动化测试&#xff0c;大多都是通过定位页面元素来模拟实际的生产场景操作。但在编写自动化测试脚本中&#xff0c;经常出现元素定位不到的情况&#xff0c;究其原因&#xff0c;无非两种情况&#xff1a;1、有frame&#xff1b;2、没有设置等待。 因为代码运行速度和浏览器…

【Vue】购物车案例-构建项目

脚手架新建项目 (注意&#xff1a;勾选vuex) 版本说明&#xff1a; vue2 vue-router3 vuex3 vue3 vue-router4 vuex4/pinia vue create vue-cart-demo需要勾选上vuex&#xff0c;由于这个项目只有一个页面&#xff0c;vuex可勾可不勾 将原本src内容清空&#xff0c;替换成教学…

VISIO安装教程+安装包

文章目录 01、什么是VISIO&#xff1f;02、安装教程03、常见安装问题解析 01、什么是VISIO&#xff1f; Visio是由微软开发的流程图和图表绘制软件&#xff0c;它是Microsoft Office套件的一部分。Visio提供了各种模板和工具&#xff0c;使用户能够轻松创建和编辑各种类型的图…

SwiftUI七使用UI控件

代码下载 在应用中&#xff0c;用户可以创建一个简介来描述他们自已的个人情况。为了让用户可以编辑自己的简介&#xff0c;需要添加一个编辑模式并设计一个偏好设置界面。这里使用多种通用控件来展示用户的各种数据&#xff0c;并在用户保存他们所做的数据修改时更新地标数据…

PCB 蚀刻因子(Etch Factor)

The standard definition for Etch Factor is to specify it as the ratio of trace thickness / amount of over-etching. This gives the following formula: Etch Factor T/[0.5(W1-W2)] 例如&#xff0c;W1 5.2mil&#xff0c; W1 4.2mil&#xff0c; T 3.7mil&#…

四维轻云|支持多源数据融合、城市级实景三维模型展示

四维轻云是一款轻量化的地理空间数据管理云平台&#xff0c;具有项目管理、数据上传、场景搭建、发布分享、素材库等功能模块&#xff0c;支持多用户在线协作管理&#xff0c;实现了轻量化、便捷化的空间数据应用。 1、多源数据融合 平台支持管理、展示各类空间数据&#xff…

差动放大器

差动器的出现是为了解决直接耦合电路存在的零点漂移问题&#xff0c;另外&#xff0c;差动放大器还有灵活的输入&#xff0c;输出方式。 一&#xff0c;基本差动放大器 差动放大器在电路结构上具有对称性&#xff0c;三极管VT1&#xff0c;VT2同型号&#xff0c;R1R2,R3R4,R5…