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

redis主从复制+哨兵

1.主从复制

redis配置文件redis.conf

master机器:IP 192.168.1.5 ,端口  6379

设置配置参数

daemonize yes

#bind 127.0.0.1 -::1

protected-mode no

port 6379

dbfilename "dump.rdb"

dir "/root/redis/my_redis_conf/dumpdir"

logfile "/tmp/redis6379.log"

requirepass "root"    

#  下面是发开AOF持久化,不配置也没关系            

appendonly yes

appendfilename "appendonly.aof"

appenddirname "appendonlydir"

slaver1机器:IP 192.168.1.6 ,端口 6379

设置配置参数

daemonize yes

#bind 127.0.0.1 -::1

protected-mode no

port 6379

dbfilename "dump.rdb"

dir "/root/redis/my_redis_conf/dumpdir"

logfile "/tmp/redis6379.log"

requirepass "root"    

masterauth root

replicaof 192.168.1.5 6379

#  下面是发开AOF持久化,不配置也没关系            

appendonly yes

appendfilename "appendonly.aof"

appenddirname "appendonlydir"

slaver2机器:IP 192.168.1.7 ,端口 6379

设置配置参数

daemonize yes

#bind 127.0.0.1 -::1

protected-mode no

port 6379

dbfilename "dump.rdb"

dir "/root/redis/my_redis_conf/dumpdir"

logfile "/tmp/redis6379.log"

requirepass "root"    

masterauth root

replicaof 192.168.1.5 6379

#  下面是发开AOF持久化,不配置也没关系            

appendonly yes

appendfilename "appendonly.aof"

appenddirname "appendonlydir"

测试一下主从复制

先开启master,再开启两个slaver

开启redis命令:redis-server ./redis.conf

连接redis命令:redis-cli -a root

-a 后接的是密码,密码是配置文件requirepass字段指定

 master机器,客户端连接redis,输入命令 info replication查看信息

slaver机器的日志文件

主从复制的共同工作流程

1.slave启动,同步请求

slave启动后会发送一个sync命令给master

2.首次连接,全量复制

master收到sync命令后,会一次完全同步(全量复制)自身数据到slave,slave自身原有数据会被master数据覆盖清除

3.心跳持续,保持通信

master节点收到sync命令后会开始在后台保存快照(即RDB持久化,主从复制时会触发RDB),同时收集所有接收到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后,master将RDB快照文件和所有缓存的命令发送到所有slave,以完成一次完全同步

而slave服务在接收到数据后,将其存盘加载到内存中,从而完成复制初始化

4.进入平稳增量复制

master继续将新的所有收集的修改命令自动一次传给slave,完成同步

5.从机下线,重连续传

master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterId,offset是保存在backlog中的。master只会把已经复制的offset后面的数据复制给slave,类似断点续传

2.给主从复制增加哨兵

三个哨兵将都在master机器 192.168.1.5,上增加和启动

(1)复制一份redis配置文件中的哨兵配置文件【sentinel.conf】为【sentinel26379.conf】

protected-mode no

port 26379

daemonize yes

pidfile "/var/run/redis-sentinel26379.pid"

logfile "/tmp/sentinel26379.log"

dir "/tmp"

sentinel monitor mymaster 192.168.1.5 6379 2

sentinel auth-pass mymaster root

(2)复制一份redis配置文件中的哨兵配置文件【sentinel.conf】为【sentinel26380.conf】

protected-mode no

port 26380

daemonize yes

pidfile "/var/run/redis-sentinel26380.pid"

logfile "/tmp/sentinel26380.log"

dir "/tmp"

sentinel monitor mymaster 192.168.1.5 6379 2

sentinel auth-pass mymaster root

(3)复制一份redis配置文件中的哨兵配置文件【sentinel.conf】为【sentinel26381.conf】

protected-mode no

port 26381

daemonize yes

pidfile "/var/run/redis-sentinel26381.pid"

logfile "/tmp/sentinel26381.log"

dir "/tmp"

sentinel monitor mymaster 192.168.1.5 6379 2

sentinel auth-pass mymaster root

启动哨兵

redis-sentinel sentinel26379.conf --sentinel

redis-sentinel sentinel26380.conf --sentinel

redis-sentinel sentinel26381.conf --sentinel

查看哨兵是否启动

查看哨兵日志

/tmp/sentinel26379.log,/tmp/sentinel26380.log,/tmp/sentinel26381.log

验证

断开master

投票给192.168.1.6,到192.168.1.6查看是不是新的master,可以看到192.168.1.6成为新的master

相关文章:

redis主从复制+哨兵

1.主从复制 redis配置文件redis.conf master机器:IP 192.168.1.5 ,端口 6379 设置配置参数 daemonize yes #bind 127.0.0.1 -::1 protected-mode no port 6379 dbfilename "dump.rdb" dir "/root/redis/my_redis_conf/dumpdir" l…...

html动态爱心超文本标记代码,丝滑流畅有特效,附源码

没想到现在看个剧&#xff08;点燃我&#xff0c;温暖你&#xff09;要的同款居然是代码&#xff0c;李峋 这盛世如你所愿啊&#xff01;李峋的同款爱心代码来啦&#xff0c;拿走试试吧&#xff5e; <!DOCTYPE html> <html><head><title></title&g…...

力扣:162. 寻找峰值(Python3)

题目&#xff1a; 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums&#xff0c;找到峰值元素并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时…...

【Python】20大报告生成词云

这个我其实写过一篇类似的博客&#xff0c;但是那个的文件对象是.csv&#xff0c;对应到.docx文件的话&#xff0c;就不太适用了。如下&#xff1a; Python生成词云-CSDN博客 代码&#xff1a; import jieba import os import wordcloud import numpy as np from PIL import…...

目标检测YOLO实战应用案例100讲-基于无人机的轻量化目标检测系统设计

目录 前言 国内外研究现状 国外研究现状 国内研究现状...

ansible-第二天

ansible 第二天 以上学习了ping、command、shell、script模块&#xff0c;但一般不建议使用以上三个&#xff0c;因为这三个模块没有幂等性。举例如下&#xff1a; [rootcontrol ansible]# ansible test -a "mkdir /tmp/1234"[WARNING]: Consider using the file …...

【测试工具】UnixBench 测试

一、UnixBench 简介 UnixBench 原本叫做 BYTE UNIX benchmark suite。软件为 Unix 类的系统提供了一些基本的性能指标。通过不同的测试来测试系统不同方面的性能&#xff08;2D&#xff0c;3D&#xff0c;CPU&#xff0c;内存等等&#xff09;。这些测试的结果将和一些标准的系…...

软件测试金融项目,在测试的时候一定要避开的一些雷区

软件测试金融项目需要格外谨慎和专注&#xff0c;因为这些项目通常涉及大量的交易、用户隐私和其他敏感信息。以下是一些软件测试金融项目时需要关注的方面&#xff1a; 1. 数据保护 在测试金融项目时&#xff0c;必须确保用户数据和投资信息得到保护。测试人员必须确保测试环…...

顺序图——画法详解

百度百科的定义&#xff1a; 顺序图是将交互关系表示为一个二维图。纵向是时间轴&#xff0c;时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时&#xff0c;角色用一条虚线表示&#xff0c;当对象的过程处于激活状态时&…...

easyexcel==省市区三级联动

省市区三级联动&#xff0c;不选前面的就没法选后面的 package com.example.demoeasyexcel.jilian2; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; import org.apache.poi.ss.use…...

Linux进程控制(二)--进程等待(一)

前言&#xff1a;之前我们讲过&#xff0c;子进程退出&#xff0c;父进程如果不管不顾&#xff0c;就可能造成‘僵尸进程’的问题&#xff0c;进而造成内存泄漏。 另外&#xff0c;进程一旦变成僵尸状态&#xff0c;那就刀枪不入&#xff0c;就连 kill -9 也无能为力&#xff0…...

【C++】C++11常用特性梳理

C11特性梳理 1. 列表初始化2. auto & decltype3. 右值引用3.1. 左右值引用比较3.2. 右值引用的意义3.3. 万能引用与完美转发3.4. 移动构造与移动赋值 4. default & delete5. 可变参数模板6. push_back 与 emplace_back7. lambda表达式7.1. 捕捉列表 8. function包装器8…...

修改iframe生成的pdf的比例

如图想要设置这里的默认比例 在iframe连接后面加上#zoom50即可&#xff0c;50是可以随便设置的&#xff0c;设置多少就是多少比例 <iframe src"name.pdf#zoom50" height"100%" width"100%"></iframe>...

C++之list的用法介绍

C之list的用法介绍 1&#xff09;定义和初始化&#xff1a; #include <list> std::list<int> my_list; // 定义一个整数类型的list std::list<std::string> my_other_list {"apple", "banana", "cherry"}; // 初始化一个…...

Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结

作用 当集成Mybatis-Plus 后&#xff0c;我们的大部分数据库操作都可以通过 XxxxxMapper &#xff0c;同时 Mybatis-plus 在Mapper 提供基本操作方法的同时&#xff0c;也提供类基础的 serviceImpl 来帮助我们完成一些常见的基本操作。 使用 一般情况下&#xff0c;我们首先…...

yolov5 利用Labelimg对图片进行标注

首先打开yolov5-master&#xff0c;在data文件中新建一个文件夹来存放你需要跑的数据&#xff0c;例如我这次跑的是羽毛球&#xff0c;文件把文件取名为badminton。使用其他文件夹例如images也可以&#xff0c;就是跑多了以后不好整理&#xff0c;然后点击 选中刚刚你存放数据的…...

完整版付费进群带定位源码

看到别人发那些不是挂羊头卖狗肉&#xff0c;要么就是发的缺少文件引流的。恶心的一P 这源码是我付费花钱买的分享给大家&#xff0c;功能完整。 搭建教程 nginx1.2 php5.6--7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库&#xff08;shujuk…...

华为L410上制作内网镜像模板01

原文链接&#xff1a;华为L410上制作离线安装软件模板01 hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇在内网搭建Apache服务器&#xff0c;用于安装完内网操作系统后&#xff0c;在第一次开机时候&#xff0c;为系统安装软件&#xff0c;今天给大家用WeChat举例&a…...

linuxC语言缓冲区及小程序的实现

文章目录 1.文件缓冲区1.1介绍1.2缓冲文件系统1.3冲刷函数fflush1.4认识linux下的缓冲区 2.linux小程序的实现2.1 回车\r和换行\n2.2倒计时程序2.3进度条小程序sleep/usleep代码运行结果 1.文件缓冲区 1.1介绍 为缓和 CPU 与 I/O 设备之间速度不匹配&#xff0c;文件缓冲区用以…...

MySQL数据库基本操作-DDL 数据库基础知识

目录标题 1、数据库操作1-1 查询所有数据库1-2 创建数据库1-3 选择使用那个数据库1-4 删除数据库 2、数据库表操作2-1 创建数据库表2-2 查看当前数据库所有表名称2-3 查看指定某个表的创建语句2-4 查看表结构2-5 删除表 3、修改表结构格式3-1 修改表添加列3-2 修改列名和类名3-…...

进阶提升!MySQL存储过程、触发器与视图实操指南

前三篇我们依次掌握了MySQL基础CRUD、进阶查询、事务、索引及数据备份&#xff0c;已经能满足日常开发和企业级基础数据操作需求。但在实际工作中&#xff0c;经常会遇到重复执行的SQL操作&#xff08;如批量处理数据&#xff09;、需要自动触发的业务逻辑&#xff08;如数据插…...

【硬件】2026最适合做家用NAS的CPU是哪一款

家用NAS没有绝对“唯一最优”的CPU&#xff0c;核心是匹配你的预算、功能需求和功耗预期。结合2026年的市场现状、软件兼容性和实测表现&#xff0c;以下是分场景的精准推荐&#xff0c;覆盖99%的家用需求&#xff0c;同时附上核心选型原则和避坑指南。 核心选型黄金原则&#…...

LightOnOCR-2-1B镜像免配置:集成Prometheus监控指标与Grafana可视化看板

LightOnOCR-2-1B镜像免配置&#xff1a;集成Prometheus监控指标与Grafana可视化看板 1. 开篇&#xff1a;为什么需要监控OCR服务&#xff1f; 当你部署了一个强大的OCR服务后&#xff0c;最关心的是什么&#xff1f;是识别准确率&#xff1f;是响应速度&#xff1f;还是服务稳…...

SAP FI模块避坑指南:修改已过账凭证文本时,FB03和BAPI FI_DOCUMENT_CHANGE的权限与风险

SAP FI模块凭证文本修改实战&#xff1a;权限管控与合规操作全景指南 财务凭证作为企业经济活动的法定记录载体&#xff0c;其任何修改行为都直接关联审计合规性与内部控制有效性。在SAP系统中&#xff0c;已过账凭证的文本修改看似简单的技术操作&#xff0c;实则暗藏权限分离…...

NoahGameFrame监控与日志:构建可观测的游戏服务器体系

NoahGameFrame监控与日志&#xff1a;构建可观测的游戏服务器体系 【免费下载链接】NoahGameFrame A fast, scalable, distributed game server engine/framework for C, include the actor library, network library, can be used as a real time multiplayer game engine ( M…...

第 26 课:任务表格列配置与持久化

第 26 课&#xff1a;任务表格列配置与持久化 这一课&#xff0c;我们正式回到任务管理主线&#xff0c;并补上一个真正中后台系统里非常常见的能力&#xff1a; 允许用户自己决定表格显示哪些列&#xff0c;并把这份偏好保存下来。 这类需求在真实项目里非常常见。 因为同一张…...

富集分析结果太杂乱?3个ggplot2技巧让你的气泡图秒变高颜值SCI配图

富集分析结果太杂乱&#xff1f;3个ggplot2技巧让你的气泡图秒变高颜值SCI配图 科研论文中的图表质量直接影响审稿人对研究成果的第一印象。对于生物信息学分析而言&#xff0c;富集分析&#xff08;如GO、KEGG、GSEA&#xff09;的结果可视化尤为关键——它不仅需要准确传达数…...

从医疗到自动驾驶:SOTA技术如何改变5大行业的游戏规则(2025最新案例)

从医疗到自动驾驶&#xff1a;SOTA技术如何改变5大行业的游戏规则&#xff08;2025最新案例&#xff09; 当一家三甲医院的放射科主任第一次看到AI系统在3秒内完成300张肺部CT的病灶标注时&#xff0c;他意识到传统的阅片流程将被彻底改写。这不是科幻场景&#xff0c;而是2025…...

揭秘高质量代码训练数据构建全流程:从GitHub噪声过滤到AST语义对齐的7个关键决策点

第一章&#xff1a;智能代码生成训练数据构建 2026奇点智能技术大会(https://ml-summit.org) 高质量、结构化、语义丰富的训练数据是智能代码生成模型性能的基石。构建此类数据并非简单爬取开源仓库&#xff0c;而需系统性地完成清洗、标注、切分、对齐与质量验证等多阶段工程…...

消防主机组网通信质量有担忧?巧用光纤环网冗余方案,实现超远距离、高可靠CAN通讯

摘要&#xff1a;在大型园区、隧道、高层建筑等消防报警系统中&#xff0c;如何将分散各处的消防主机&#xff08;如海湾、青鸟、利达等品牌&#xff09;稳定可靠地联网&#xff0c;并实现长距离、抗干扰的数据传输&#xff0c;一直是工程实践的难点。本文分享我们如何利用LCAN…...