redis主从复制薪火相传

news2025/1/10 20:05:30

一.主从复制


        1、是什么                

                主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

        2、能干嘛                

                读写分离,性能扩展(主 写 从 读)

                容灾快速恢复

        3、 主从复制                

                一主二仆

                更改端口号

                6379

                6380 zh 6381 6382

                拷贝多个redis.conf文件include(写绝对路径)

                开启daemonize yes

                Pid文件名字pidfile

                指定端口port

                Log文件名字

                dump.rdb名字dbfilename

                Appendonly 改为no

                注意:不能设置密码

        创建文件

                移动到这个目录下

                

                修改这个文件

                

                redis6380.conf需要配置的东西

include /usr/gkf/redis-5.0.14/redis.conf
port 6380
daemonize yes
dir /usr/myredis
dbfilename dump6380.rdb
pidfile /var/run/redis_6380.pid
bind 0.0.0.0
protected-mode no

        
                启动命令 /usr/redis/bin/redis-server /usr/myredis/redis6380.conf

                链接成功  

                因为没有设置密码,可以直接链接

                

                其余里面的内容的信息是一样的,不过把6380替代对应的

                                

                启动三台redis服器

                /usr/java/redis/bin/redis-server /usr/java/myredis/redis6379.conf

                /usr/java/redis/bin/redis-server /usr/java/myredis/redis6380.conf

                /usr/java/redis/bin/redis-server /usr/java/myredis/redis6381.conf

                新开一个虚拟机连接6381和6382    

          

                redis_6381.conf

                include /usr/java/myredis/redis.conf

                pidfile /var/run/redis_6381.pid

                port 6381

                dbfilename dump6381.rdb

                查看三台服务器的运行情况

                连接客户端 :./redis-cli -p 6379

                查看运行 状态:info replication

                

                三台都是主机

                配置从机

                6379 主 80 81从

                slaveof

                成为某个实例的从服务器

                1.在6380和6381上执行: slaveof 127.0.0.1 6379

                 在80里面查看

                2.在主机上写,在从机上可以读取数据

                                                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

                3.主机挂掉,重启就行,一切如初

                从机宕机需要重新启动

                4.从机重启需重设:slaveof 127.0.0.1 6380

        ​​​​​​​        

        4、复制原理

                
                Slave启动成功连接到master后会发送一个sync命令
                Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令, 在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
                全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
                增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
但是只要是重新连接master,一次完全同步(全量复制)将被自动执行


       5、 薪火相传        
                

                上一个Slave可以是下一个slave的Master,Slave同样可以接收其他 slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。

                用 slaveof

                中途变更转向:会清除之前的数据,重新建立拷贝最新的

                风险是一旦某个slave宕机,后面的slave都没法备份

                主机挂了,从机还是从机,无法写数据了

                80 1

                81 2

                82 3

                反客为主
                

        当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。

                用 slaveof no one 将从机变为主机。

       6、 哨兵模式(sentinel)

                反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

                

                调整为一主二仆模式,6380带着6381、6382

                自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错

                80

                配置哨兵,填写内容

                sentinel monitor mymaster 192.168.81.33 6380 1

                其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。

        ​​​​​​​        

                ​​​​​​​

                启动哨兵

                        /usr/local/bin/redis-sentinel /usr/myredis/sentinel.conf

                ​​​​​​​

                        宕机6380

                

                        当主机挂掉,从机选举中产生新的主机

                        (大概10秒左右可以看到哨兵窗口日志,切换了新的主机)

                        哪个从机会被选举为主机呢?根据优先级别:replica-priority

                        原主机重启后会变为从机。

                        宕机之后刚才写的sentinel.conf会自动生成一些东西

                        

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

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

相关文章

Spring Boot使用七牛云

一、引入和配置 //maven配置 <dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>7.7.0</version> </dependency>#七牛云application.yml配置 qiniu:# 配置accessKeyaccessKey: &qu…

【Spring 篇】Maven私服:解锁项目构建新世界

嗨&#xff0c;亲爱的读者朋友们&#xff01;今天我们要探讨的话题是 Maven 私服。也许你已经听说过它&#xff0c;但是不知道如何入门&#xff0c;或者只是对它有一些模糊的认知。别担心&#xff0c;本篇博客将手把手地带你深入探索 Maven 私服的神秘世界。 什么是 Maven 私服…

无限学模式-“重塑科研学习路径:ChatGPT应用实战课,开启高效率、高创新的科研之旅!“

ChatGPT 在论文写作与编程方面也具备强大的能力。无论是进行代码生成、错误调试还是解决编程难题&#xff0c;ChatGPT都能为您提供实用且高质量的建议和指导&#xff0c;提高编程效率和准确性。此外&#xff0c;ChatGPT是一位出色的合作伙伴&#xff0c;可以为您提供论文写作的…

k8s中netty服务器容器tcp连接数量优化

netty的http1服务器在运行一段时间后会无法提供服务&#xff0c;返回客户端socket hang up 使用apipost测试抓包显示三次握手后被reset&#xff0c;经查是连接数过多 ps&#xff1a;客户端使用了大量短连接&#xff0c;如果能改成长连接就会消耗更少的连接&#xff0c;但是客户…

如何在Excel中隐藏部分数字或文本?这里提供几个方法

假设你有一张关于员工的一般信息表&#xff0c;但有些是私人的&#xff0c;比如社会安全号码。现在你想隐藏这些社会安全号码的一部分&#xff0c;如下截图所示&#xff0c;你如何快速解决它&#xff1f; 使用单元格格式部分隐藏 若要在Excel中隐藏部分社会保障号码&#xff…

PCIE 4.0 Equalizaiton(LTSSM 均衡流程)

均衡 在Tx端有FFE&#xff08;Feed Forward Equalizer&#xff0c;前馈均衡器&#xff09;&#xff1b;在Rx端有&#xff1a;CTLE&#xff08;Continuous Time Linear Equalizer&#xff0c;连续时间线性均衡器&#xff09;和DFE&#xff08;Decision Feedback Equalizer&…

深入理解封装的设计思想

相对于OOP三大基本特性其他两个&#xff1a;继承和多态&#xff0c;封装其实我认识是最重要的概念。 对于封装初步在理解的时候就是private 一个variable 然后设置get和set方法&#xff0c;为什么要这样做&#xff0c;有个大概的想法&#xff0c;就是不让其他的对象直接获取数…

【图形学】贝塞尔曲线理论与实践

贝塞尔曲线&#xff08;Bezier Curve&#xff09;在计算机图形领域应用非常广泛&#xff0c;比如我们 CSS 动画、 Canvas 以及 Photoshop 等都可以看到贝塞尔曲线的身影。 贝塞尔曲线类型 贝塞尔曲线根据_控制点_的数量分为&#xff1a; 一阶贝塞尔曲线&#xff08;2 个控制点…

首助编辑高手:掌控PDF,工作流程更顺畅!

在繁忙的工作中&#xff0c;我们时常需要处理各种PDF文档。这些文档可能来自客户、同事或自己创建。然而&#xff0c;直接编辑PDF往往不是一件容易的事&#xff0c;需要专业的工具来辅助。今天&#xff0c;我要为大家介绍一款强大的PDF编辑工具——首助编辑高手&#xff0c;它将…

夏季使用打包机需要注意些什么

夏季由于非常炎热的特点&#xff0c;很多设备的使用都需要非常关注它的使用安全&#xff0c;打包机也不例外&#xff0c;尤其是24小时生产的企业&#xff0c;对于设备的使用注意事项更应该多加注意&#xff0c;那么夏季使用打包机到底该注意些什么呢&#xff1f;艾讯认为至少应…

01 Redis的特性+下载安装启动

1.1 NoSQL NoSQL&#xff08;“non-relational”&#xff0c; “Not Only SQL”&#xff09;&#xff0c;泛指非关系型的数据库。 键值存储数据库 &#xff1a; 就像 Map 一样的 key-value 对。如Redis文档数据库 &#xff1a; NoSQL 与关系型数据的结合&#xff0c;最像关系…

eNSP 实验 两台AR配置同网段

实验1&#xff1a;eNSP 两台AR配置同网段 目的&#xff1a;创建两台AR&#xff0c;配置IP互相ping通 拓扑结构&#xff1a; 首先创建一个AR3260 然后创建一个AR2220 然后同轴电缆连接一下 先配置AR2220。 1、切管理员&#xff1a;system-view 进入千兆位以太网 0/0/0 interf…

如何抓住短剧“狂飙”风口?腾讯微搭发布一站式短剧平台解决方案

“制作成本50万&#xff0c;充值流水一个亿。” “7天写完剧本&#xff0c;一周拍完一部剧。” 短剧热度不断提升&#xff0c;情节快节奏、单集时长短、竖屏呈现等特点更迎合现代社会快节奏下的碎片化观看需求。2023年以来&#xff0c;小程序短剧高速发展&#xff0c;数据显示…

electron-builder vue 打包后element-ui字体图标不显示问题

当使用electron打包完成的时候&#xff0c;启动项目发现使用的element-ui字体图标没显示都变成了小方块&#xff0c;并出现报错&#xff0c;请看下图&#xff1a; 解放方法&#xff1a; 在vue.config.js中设置 customFileProtocol字段&#xff1a;pluginOptions: {electronBui…

Vulnhub靶场MATRIX-BREAKOUT: 2 MORPHEUS

攻击机192.168.223.128 目标机192.168.223.140 主机发现nmap -sP 192.168.223.0/24 端口扫描nmap -p- 192.168.223.140 开启了 22&#xff0c;80&#xff0c;81三个端口 看一下web界面 是inguardians 写给jaybeale的信&#xff0c;说计算机被密码锁住了&#xff0c;至少…

【创建vue项目的两种方式】

Vue环境搭建 NodeJs安装包安装淘宝镜像 环境搭建webpack安装全局安装vue/cli查看模板创建项目1.webpack2. vue-cli NodeJs安装包 下载链接&#xff1a;官网链接 下载下来后&#xff0c;直接傻瓜式的安装即可。 通过在cmd控制台输入以下命令查看是否安装成功 node -v因为适配某…

云计算项目六:升级网站运行平台|部署缓存服务|数据迁移|部署集群

升级网站运行平台&#xff5c;部署缓存服务&#xff5c;数据迁移&#xff5c;部署集群 案例1&#xff1a;升级网站运行平台步骤一&#xff1a;清除当前配置步骤二&#xff1a;部署LNMP步骤三&#xff1a;测试配置 案例2&#xff1a;部署内存存储服务步骤一&#xff1a;部署redi…

Linux基础指令【下篇】

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 1.时间指令----date1…

翻译: 使用 GPT-4 将您的 Streamlit 应用程序提升到一个新的水平一

帮助您更快地设计、调试和优化 Streamlit 应用的专业技巧 设计和扩展 Streamlit 应用程序可能是一项艰巨的任务&#xff01;作为开发人员&#xff0c;我们经常面临一些挑战&#xff0c;例如设计良好的 UI、快速调试我们的应用程序以及快速制作它们。 如果有一个工具可以加快速…

【GitHub项目推荐--不错的Flutter项目】【转载】

01 可定制的图表库 FL Chart是一个高度可定制的 Flutter 图表库&#xff0c;支持折线图、条形图、饼图、散点图和雷达图 。 项目地址&#xff1a;https://github.com/imaNNeoFighT/fl_chart LineChart BarChart PieChart Sample1 Sample2 Sample3 …