从小白到大神之路之学习运维第41天---第三阶段---Redis高可用集群(redis 的主从复制、redis的哨兵模式操作)

news2024/10/7 2:32:51

第三阶段基础

时  间:2023年6月15日

参加人:全班人员

内  容:

Redis高可用集群

目录

一、redis主从复制原理介绍

主从复制特点:

主从复制实现原理:

二、主从复制实现操作(多机实例实现)  

前提配置:

主库操作:

从库一操作:

从库二操作:

主库变化:

验  证:

三、redis哨兵操作

主 库:

从库一:

从库二:

验证结果:


一、redis主从复制原理介绍

主从模式下,Redis 分为主库(master)从库(slaver)。主库负责读写,从库只负责读。当主库发生写事件后会将数据同步至从库。主库挂了不会重新选举主库,需等主库重启之后才能继续提供写服务,此间从库仍可提供读服务。

初始化阶段:从库启动后,向主库发送 Sync 命令,主库收到 Sync 命令后,生成 RDB 快照,并缓存生成快照期间的写命令,快照生成完后,发送至从库。从库收到后根据快照和缓存的写命令初始化数据库。

同步阶段:此阶段主库每次收到写命令都会将写命令发送至从库,从库执行写命令,保证数据一致性。

主从复制特点

一个master可以有多个slave

一个slave只能有一个master

数据流向是单向的,master到slave

主从复制实现原理

1.从库通过slaveof 192.168.1.107 6379命令连接主库,并发送sync给主库;

2.主库收到sync,立刻触发bgsave,后台保存RDB,发送给从库;

3.从库接受后会应用rdb快照;

4.主库会陆续将中间产生的新的操作,保存并发送给从库;

5.到此,我们主从复制就正常工作了;

6.之后,主库所有新的操作,都会以命令传播的方式自动发送给从库;

7.如果发生主从断开,从库数据没有任何破坏,重新连接后,从库发送psync给主库;

8.主库会将从库缺失的部分数据同步给从库应用,达到快速恢复主从的目的。

二、主从复制实现操作(机实例实现)  

在此演示的是yum安装方式,且对redis进行无密码设置

前提配置:

1、关闭防火墙

systemctl stop firewalld

iptables -F

setenforce 0

2、yum安装了redis

3、虚拟机网络模式为桥接模式

ip地址自动获取

主库操作:

步骤一:基础操作

  ip地址为192.168.1.107

安装了redis

步骤二:配置redis主配置文件/etc/redis.conf

bind 0.0.0.0

daemonize yes

port 6379

pidfile /var/run/redis_6379.pid

步骤三:启动redis服务

redis-cli进入,查看当前主从复制信息

info replication

从库一操作:

步骤一:基础操作

ip地址为192.168.1.108

安装了redis

步骤二:配置redis主配置文件/etc/redis.conf

bind 0.0.0.0

daemonize yes

port 6379

pidfile /var/run/redis_6379.pid

步骤三:启动redis服务

redis-cli -p 6379 进入,查看当前主从复制信息

操作slaveof 192.168.1.107 6379请看变化!!!

从库二操作:

步骤一:基础操作

ip地址为192.168.1.14

安装了redis

步骤二:配置redis主配置文件/etc/redis.conf

bind 0.0.0.0

daemonize yes

port 6379

pidfile /var/run/redis_6379.pid

步骤三:启动redis服务

redis-cli -p 6379进入,查看当前主从复制信息

操作slaveof 192.168.1.107 6379请看变化!!!

主库变化:

 

 

验  证:

主库操作:有创建功能

set k1 HUYANG

get k1

从库一:无创建功能

get k1

从库二:无创建功能

get k1

三、redis哨兵操作

此处演示三台服务器都创建哨兵,均监视当前服务

步骤一:分别对主库、从库一、从库二的哨兵模式配置文件/etc/redis-sentinel.conf修改

主 库:

port 26379

daemonize yes

sentinel monitor mymaster 192.168.1.107 6379 2

其他操作默认不进行修改

从库一:

port 26379

daemonize yes

sentinel monitor mymaster 192.168.1.107 6379 2

其他操作默认不进行修改

从库二:

port 26379

daemonize yes

sentinel monitor mymaster 192.168.1.107 6379 2

其他操作默认不进行修改

步骤二:分别启动主库、从库一、从库二的哨兵模式

systemctl start redis-sentinel

或者

systemctl restart redis-sentinel

步骤三:停止主库的redis服务查看变化

sysrenctl stop redis

验证结果:

步骤一:停止主库的redis服务查看变化

sysrenctl stop redis

步骤二:查看从库一的变化

从库一最终结果:

从库二变化:

从库二最终结果:

 

总  结:

开启redis哨兵模式之后;

主库的redis服务停止;

从库一:原本是1.107的从库,模式时间(30秒)到了之后,复制信息发生变化,主从复制过程停止,哨兵模式随机选择一台主机为服务器,最终选择了1.108这台服务器,也就是原本的从库一变成了主库;

从库二:原本是1.107从库,模式时间(30秒)到了之后,复制信息发生变化,主从复制过程停止,待哨兵模式选择完谁当服务器之后,变成了1.108的从库。

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

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

相关文章

Mysql 表的七种联接方式【附带练习sql】

联接 七种JOIN介绍 图形联接方式说明SQL内联接共有部分SELECT <select_list> FROM TableA A INNER JOIN TableB B ON A.Key B.Key;左联接A表独有共有部分SELECT <select_list> FROM TableA A LEFT JOIN TableB B ON A.Key B.Key;右联接B表独有共有部分SELECT &…

linux spi相关调试

在Linux系统中&#xff0c;SPI 的用户模式设备接口的驱动源码位于 drivers/spi/spidev.c&#xff0c;在应用层生成 /dev/spidev* 的节点&#xff0c;可以通过 read、 write 达到与硬件设备的 SPI 通信。下面介绍spidev驱动移植和应用程序编写方法。 SPI &#xff08;serial pe…

阿里 P8 面试官总结的《2023 最新 java 面试题》限时开源了

国内的互联网面试&#xff0c;恐怕是现存的、最接近科举考试的制度。 以美国为例&#xff0c;北美工程师面试比较重视算法&#xff08;Coding&#xff09;&#xff0c;近几年也会加入 Design 轮&#xff08;系统设计和面向对象设计 OOD&#xff09;和 BQ 轮&#xff08;Behavi…

怎么学习数据库的相关知识? - 易智编译EaseEditing

学习数据库的相关知识可以按照以下步骤进行&#xff1a; 确定学习目标&#xff1a; 了解数据库的基本概念、原理和常用术语&#xff0c;学习数据库管理系统&#xff08;DBMS&#xff09;的功能和特性&#xff0c;以及掌握数据库设计和查询语言等方面的知识。 学习数据库基础知…

【闭包函数与装饰器大全】——python基础

目录索引 闭包&#xff1a;闭包三要素&#xff1a;闭包的作用&#xff1a;闭包演示&#xff1a;闭包的意义&#xff1a; 装饰器&#xff1a;特点&#xff1a;实例演示&#xff1a;实例演示2之参数&#xff1a; 装饰器常用的场景&#xff1a;编写一个计时的装饰器&#xff1a;*普…

AIGC和虚拟现实为什么必然产物

背景 在流量存量时代&#xff0c;内容运营重要性不言而喻。在流量时代&#xff0c;内容可以不要过于多样化和差异化&#xff0c;只需要有足够多的人流量&#xff0c;按流量转化比率来看&#xff0c;1000个人有1%概率转化&#xff0c;素材不变只要增加足够多的流量那就一定会有…

永久存储:文件处理与路径处理

&#x1f4e2;博客主页&#xff1a;盾山狂热粉的博客_CSDN博客-C、C语言,机器视觉领域博主&#x1f4e2;努力努力再努力嗷~~~✨ &#x1f4a1;大纲 ⭕如何将数据永久的存放到硬盘上 &#x1f449;不要打开文件&#xff0c;然后直接关闭文件&#xff0c;会导致截断 一、如何操作…

OneNote支持Markdown:高亮代码

文章目录 结论在前效果安装日常工作流&#xff08;高亮代码块&#xff09; 结论在前 markdown对我来说是伪需求&#xff0c;真正需要的是高亮代码&#xff0c;通过Github/NoteHighlight2016这个开源插件可实现这个插件虽然叫2016&#xff0c;但实测onenote 2013也是可以用的 效…

华为OD机试之数组去重和排序(Java源码)

数组去重和排序 题目描述 给定一个乱序的数组&#xff0c;删除所有的重复元素&#xff0c;使得每个元素只出现一次&#xff0c;并且按照出现的次数从高到低进行排序&#xff0c;相同出现次数按照第一次出现顺序进行先后排序。 输入描述 一个数组 输出描述 去重排序后的数组…

使用微信怎么图片投票怎么设置qq里面投票是如何

手机互联网给所有人都带来不同程度的便利&#xff0c;而微信已经成为国民的系统级别的应用。 现在很多人都会在微信群或朋友圈里转发投票&#xff0c;对于运营及推广来说找一个合适的投票小程序能够提高工作效率&#xff0c;提高活动的影响力。 那么微信做投票的小程序哪个比较…

苹果头显Vision Pro深度解读2 软件开发者谁最受益?

1 软件开发者谁最受益&#xff1f; 开发Vision pro这种设备的软件啊&#xff0c;首先得跟vision pro本身的特点结合起来&#xff0c;比如它本质上并不是一个很适合移动的的设备。用户大多数时候&#xff0c;都是坐着&#xff0c;站着&#xff0c;躺着使用。 所以典型的应用场…

【Linux】文件描述符与重定向操作

系列文章 收录于【Linux】文件系统 专栏 对于Linux下文件的写入与读取&#xff0c;以及文件原理还有疑惑的可以看看上一篇文章浅谈文件原理与操作。 目录 系列文章 再谈文件描述符 ​编辑 IO函数的本质 一切皆文件 文件重定向 原理 系统接口 再谈文件描述符 &#x…

C语言 指针(特别篇)

本篇目录 C语言 指针&#xff08;特别篇&#xff09;内存地址简要介绍C语言指针C语言的指针可以指向什么?取地址符 &&#xff08;Address-of Operator&#xff09;C语言中的 * 号运算符示例集&#xff1a;指向变量的指针指向数组的指针指向字符串的指针二级指针指针数组的…

doris docker部署 1.2.4.1版本

目录 写在前面 镜像编译 准备工作 下载编译好的包 fe be 编辑初始化文件 fe be 编辑Dockerfile fe be 构建镜像 fe be 构建结果 镜像运行 fe be 修改配置 添加udf依赖 启动be 注册be 错误分析 写在前面 以下操作语句按顺序执行即可&#xff0c;如果需要…

泛型Generic

泛型 1. 介绍1.1 使用泛型的好处 2. 自定义泛型结构&#xff1a;泛型类、泛型接口&#xff1b;泛型方法2.1 泛型类、泛型接口2.2 泛型方法 3. 其他3.1 泛型在继承方面的体现3.2 通配符使用3.2.1 有限制的通配符 1. 介绍 把元素的类型设计成一个参数&#xff0c;这个类型参数叫…

数组6大排序算法

快速排序 核心算法&#xff1a; 1.取一个基准值&#xff08;一般是数组中间的元素&#xff09;&#xff0c;遍历数组&#xff0c;比基准值大的放右边&#xff0c;小的放左边&#xff0c;相等的则不动 2.分别创建三个数组来存储元素&#xff0c;最后将三个数组拼接起来 3.循…

Java替换Jar文件中的class文件方法

备份源文件 文件不重要的话可以不需要备份&#xff0c;线上环境务必备份方便回滚 mkdir bak cp test.jar bak 查看class文件所在目录 jar -tvf test.jar | grep Time.class 标红内容就是需要替换的class文件&#xff0c;如果有多个文件需要替换依次执行2&#xff0c;3步骤…

webSocket实时通信02——基于Spring【纯后端——JAVA】

这里是基于Spring整合websoket后来实现的实时通信&#xff0c;这里只有java的代码&#xff0c;通过在线网站 http://www.websocket-test.com/测试即可 1. 导包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

网络安全合规-职业发展路线

网络安全人才一将难求&#xff0c;缺口高达 95% 在以前&#xff0c;很多政企单位在进行 IT 部门及岗位划分时&#xff0c;只有研发和运维部门&#xff0c;安全人员直接归属到基础运维部&#xff1b;而现在&#xff0c;越来越多单位为了满足国家安全法律法规的要求&#xff0c;…

终极攻略!如何彻底防止Selenium被检测!

在使用Selenium进行爬虫时&#xff0c;许多朋友都会遇到各种反爬措施。 实际上&#xff0c;在绝大多数情况下&#xff0c;网站轻而易举地能够检测出你正在使用WebDriver而非标准浏览器。 本文将详细介绍如何有效防止检测的方法。 在一篇公众号文章《别去送死了。Selenium 与…