IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【Redis】——主从复制 -> 正文阅读

[大数据]【Redis】——主从复制

1. 概念

主机数据更新后根据配置和策略,自动同步到备机的master/slaver 机制,Master以写为主,Slave以读为主。
在这里插入图片描述

2. 作用

<1>读写分离。性能扩展
<2>容灾快速恢复

3. 步骤

<1>创建/myredis 文件夹

在这里插入图片描述

<2>复制redis.conf 配置文件到文件夹中

在这里插入图片描述

<3>配置一主两从,创建三个配置文件

redis6397.conf
redis6380.conf
redis6381.conf

<4>在配置文件中写入内容

引入主配置文件
修改pidi文件
设置端口号
修改持久化文件名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<5>启动三台redis服务器

在这里插入图片描述
在这里插入图片描述

<6>查看三台服务器运行情况

info replication
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<7>配从(库)不配主(库)

slaveof
成为某个实例的从服务器
将6380 和6381 作为6379的从服务器
在这里插入图片描述
在这里插入图片描述
从服务器:
在这里插入图片描述
在这里插入图片描述
主服务器:
在这里插入图片描述

<8>主服务器可以写,可以读

在主服务器上写:
在这里插入图片描述
在从服务器上读取主服务器的数据:
在这里插入图片描述

<9>从服务器只能读,不能写

在这里插入图片描述

4. 常见问题

<1> 一主两仆

  1. 当从服务器宕机重启之后,默认不再是从服务器, 而是作为一个主服务器,需要重新设置为从服务器,并且重新设为从服务器之后,会自动复制主服务器的数据到从服务器。在这里插入图片描述
  2. 当主服务器宕机之后,从服务器依的设置不会改变,原地待命。主服务器重启之后,依旧能找到从服务器。

<2> 薪火相传

  1. 如果有一个主服务器,多个从服务器。进行链式同步。
    缺点是如果中间的服务器宕机,则后边的服务器接收不到同步数据

在这里插入图片描述
2. 演示
127.0.0.1 6379 作为主服务器
127.0.0.1 6380 作为6379的从服务器
127.0.0.1 6381 作为6380的从服务器
特点和一主二仆一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<3> 反客为主

  1. 当一个master服务器宕机之后,slave服务器立即成为master ,其后面的slave不用做任何修改。

  2. 使用slaveof no one命令,则可以将从服务器变为主服务器
    在这里插入图片描述

  3. 自动检测,主服务器是否宕机,采用哨兵模式

5. 原理

  1. 当从服务器连接服务器之后,从服务器会向主服务器发送数据同步消息。
  2. 主服务器接到从服务器发送过来的同步请求,把主服务器数据进行持久化rdb文件,把rdb文件发送给从服务器。
  3. 每次主服务器每次进行写操作之后,和从服务器进行数据同步。
    在这里插入图片描述

6. 哨兵模式

<1>. 介绍

反客为主的自动版,能够后台监控主服务器是否故障,如果故障了根据投票数自动将从转换为主。
在这里插入图片描述

<2> 步骤

1. 设置主从服务器

127.0.0.1 6379 作为主服务器
127.0.0.1 6380 作为6379的从服务器
127.0.0.1 6381 作为6379的从服务器

2. sentinel.conf 配置文件

名字不能错
在/myredis下新建sentinel.conf配置文件

3. 配置哨兵,填写内容

sentinel monitor mymaster 127.0.0.1 6379 1
在这里插入图片描述

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

4. 启动哨兵

执行 redis-sentinel /myredis/sentinel.conf
在这里插入图片描述

5. 当master服务器宕机,slave 服务器中选举产生新的主机

<1>大概10秒左右可以看到哨兵窗口日志,切换了主机
<2>选举优先级别 : slave-priority
<3>原主服务器重启后会变成从服务器

<3> 演示

第一步,将6379 shutdown
在这里插入图片描述
第二步:哨兵将打印信息 ,6379 宕机,将6380 作为新的主服务器
在这里插入图片描述
在这里插入图片描述
第三步:6379重新上线之后,会作为从服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<4>复制延迟

由于所有写操作都是先在master上操作,然后同步更新到slave上,所以从master同步到slave机器会有一定的延迟,当系统很繁忙的时候,延迟问题会更严重,slave机器数量的增加也会使这个问题更加严重。

<5> 故障恢复

在这里插入图片描述
优先级在redis.conf中默认:replice-priority 为100 ,值越小优先级越高
偏移量是指获取原主机数据最全的
每个redis实例启动后都会对其生成一个40位的runid

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:29:40  更:2022-01-04 13:30:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:29:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码