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使用sentinel哨兵容灾备份 -> 正文阅读

[大数据]redis使用sentinel哨兵容灾备份

sentinel容灾备份

1. sentinel的作用

  1. 用来监听redis的主从服务器是否工作正常
  2. 当发现某个节点工作出现问题,通过相关设置向管理员进行反馈同时进行故障迁移

故障迁移也是sentinel最主要的作用,做到了自动化进行容灾备份上线,不然还要人手工操作,达到了高可用性,当然不可能是100%高可用

2. 如何判断服务器是否工作正常

主要有以下三个方式

  1. 主观下线(subjectively down)

    上面提到了sentinel会监听redis服务器是否工作正常,如果sentinel发送了一条命令,但是目标服务器未在指定的时间内答复,那么就可以认为这个服务器挂了

  2. 客观下线(objectively down)

    SDOWN(主观下线)在有些情况可能出现误报,比如多机部署时候消息未及时返回,这时候就需要用到客观下线(事实上这种用的也比较多),也就是布置多个sentinel同时监听一个服务器,当一个认为服务器挂了,会询问其他sentinel是否也认为这个服务器挂了

  3. 仲裁

    当在给定时间内,得到了一定数量(通常是sentinel数量/2+1)的sentinel反应服务器挂了,也就是大部分人认为你死了,那你就真死了。这时候就会进行备份上线,进行主从服务器的切换(slave切换为master)

3. 环境搭建

ok,假设我们已经设置好了redis服务器的主从环境,端口6379为master,端口6380和6381分别为两个slave从节点

  1. 首先进行sentinel的config文件编写,这里我们使用三个sentinel,创建sentinel-1.config,sentinel-2.config,sentinel-3.config,名字其实随意,vim编写内容

    port 26379  #sentinel运行的端口号,三个要设置三个不同的port
    bind 0.0.0.0  #允许那些ip访问,0.0.0.0代表所有都可以访问,127.0.0.1代表只能本机访问
    daemonize yes  #以守护进程启动,也就是后台运行
    pidfile "/var/run/redis-sentinel-1.pid"  # log记录也要改下
    logfile "/root/redis/log/sentinel_26379.log"  # log存放位置
    dir "/tmp"
    sentinel monitor mymaster 127.0.0.1 6379 2  # 监听的master别名、ip地址、端口号、以及仲裁数# 量,就是超过一定数量就会客观下线的值
    sentinel down-after-milliseconds mymaster 5000  # 主观下线设置的规定实践
    sentinel auth-pass mymaster password  #这个可有可不有,设置密码
    sentinel failover-timeout mymaster 30000 # 切换备份时间,超过这个时间认为这次切换失败再切换一次
    
  2. 到redis安装目录的bin目录下启动redis-sentinel,注意要启动三个

    ./redis-sentinel   /config的存放目录
    
  3. 使用命令分别查看之前设置的三个端口查看是否启动成功,有返回值就成功

    lsof -i:26379 
    

4. 测试

可以kill掉master1的进程,这时候查看之前设置的任意一个sentinel的log文件,会发现重新选择一个节点进行上线变成master2,需要注意的是,就算这时候原来的master1节点上线,也会变成现在的master2的slave节点,图就不贴了,在windows环境里写的这篇博文,懒得换成ubuntu去测试了

5. 优缺点

  • 优点
    • 主从自动切换,可以高可用(不是100%)
  • 缺点
    • 切换投票需要时间,如果实在高访问量的情形下会出现数据丢失
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:33:20  更:2021-10-20 12:35:14 
 
开发: 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 3:17:22-

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