redis集群 高可用

news2024/11/15 13:42:00

目录

主从复制

主从复制的流程

部署主从复制

步骤

哨兵模式

数据流向

步骤

故障恢复

cluster集群

数据流向

步骤


redis集群的三种模式:

主从复制  奇数台  1主2从

哨兵模式  奇数台   1主2从

cluster   集群  6 台

主从复制

原理:主可以写,写入主的数据通过RDB方式把数据同步到从服务器,从不能更新到主。

它也是哨兵模式的基础。

缺点:它没有办法实现故障自动化恢复。只有主能够写,主从复制完成之后,从服务器变成只读模式。数据的复制是单向的,由主复制到从

主从复制的流程

部署主从复制

192.168.233.61 主

192.168.233.62 从

192.168.233.63 从

步骤

1.安装ntpdate(主从都要安装) 

yum -y install ntpdate -y

然后查看时间是否一致

2.主配置文件

vim /etc/redis/6379.conf

3.从配置文件

vim /etc/redis/6379.conf

连接主的ip地址

4.主从重启服务 /etc/init.d/redis_6379 restart

哨兵模式

实现故障自动化恢复

故障切换时,主故障,变成从服务器,主变成从之后,也会进入只读模式

缺点:从节点一旦故障,读会受到影响

原理:互相监控,主备切换

数据流向

步骤

1.主从三台服务器同步操作

cd /opt/redis-5.0.7/

vim sentinel.conf

这里要改为主的IP地址

sentinel monitor mymaster 192.168.233.61 6379 2

初始化监听,都是监听主服务器的状态

2 对应的就是从服务器的数量以及投票的参与者 参与者要和从服务器的数量一致

2台服务器投票通过,主才能进行故障转移

理解不需要修改

判断服务器宕机的时间周期 30秒 每30秒检测一次

判断故障节点的超时的最大时间  180秒

2.启动(要先启动主再启动从)

先启动主再启动两个从(必须要在redis-5.0.7目录下启动)

启动命令:redis-sentinel sentinel.conf &

查询命令:redis-cli -p 26379 info sentinel

这样即为成功

故障恢复

查看日志的文件  tail -f /var/log/sentinel.log

/etc/init.d/redis_6379 stop 

结果63就变成主了

注意:如果原来的主重新启动,也不会再变成主,现在的主依然还是63,需要重新投票再选举主

cluster集群

集群是redis3.0之后的分布式存储方案。它由多个节点组成,redis数据保存在这些节点。

把每两台服务器作为主从模式,形成一个大的主从的集群。

集群中的节点分为主和从。主节点主责读写以及维护集群的信息,从节点进行主节点数据的复制。

它解决了写操作的负载均衡。它是一个较为完善的高可用方案。它保证了高可用,但对数据的完整性要求不高。集群的功能只是满足了高可用和写的负载均衡,不能保证数据的完整性。

redis集群的数据分片:在集群概念中,引用的是hash槽的概念,创建了集群就有16384个hash槽

分为3个节点:

主1 0-5460

主2 5461-10922

主2 10923-16383

节点当中,如果主和从全部失败,整个集群都将不可用

数据流向

步骤

 1.安装ntpdate(主从都要安装) 

yum -y install ntpdate -y

然后查看时间是否一致

2.6台机器同步操作

vim /etc/redis/6379.conf

3.输入命令

redis-cli -h 192.168.233.61 --cluster create 192.168.233.61:6379 192.168.233.10:6379 192.168.233.62:6379 192.168.233.20:6379 192.168.233.63:6379 192.168.233.30:6379 --cluster-replicas 1

redis-cli -h 192.168.233.61 集群的主连接节点 配置节点

--cluster-replicas 1  表示每个主只有一个节点

然后输入yes 最后显示16384即为配置成功

CLUSTER SLOTS 查看集群节点

CLUSTER NODES  查看主从

注释:moved不是报错,只是系统提示客户端到指定位置的hash槽进行读写。系统提示什么,你就去哪个节点操作即可,这个节点是该节点的主。

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

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

相关文章

(四)延时任务篇——redisson实现延迟任务实战

前言 上一节内容中介绍了如何使用redis的zset结构实现延迟任务的实战内容,从使用角度来说还是略显繁琐,而且定时任务的方式扫描redis获取过去的任务也会存在任务空转的问题。在此基础上,我们可以使用redisson的阻塞队列,完成延迟…

探索 Python 的新世界:funcy 库的神奇之旅

文章目录 探索 Python 的新世界:funcy 库的神奇之旅背景:为何 funcy 如此迷人?简介:funcy 库是什么?安装:如何将 funcy 纳入你的项目?功能:funcy 的五大法宝应用:funcy 在…

图方法与机器学习实战:从理论到应用的全景指南

《动手学图机器学习》并不是一本纯粹介绍图机器学习理论的著作,Alessandro Negro 博士作为科学家和 Reco4 公司的 CEO,长期维护图数据源的推荐系统。他结合机器学习工程和图机器学习方法,通过推荐引擎、欺诈检测和知识图谱等案例,…

一键式RWKV RAG、RWKV-Keras、新论文...RWKV社区7月动态速览!

大家好,《RWKV 社区最新动态》迎来了第三期内容,本期统计了 RWKV 社区 7 月的重要动态,一起来看看吧! 省流版本: RWKV 官方公告 RWKV-6-World 14B 模型已发布RWKV 中文官网 rwkv.cn 正式上线 RWKV 社区新项目 RWKV R…

LeetCode删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2: 输入:head [1], n 1 输出:[] 示例 3&#x…

C++进阶(12)智能指针

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 一、概述 智能指针在构造的时候开辟空间,当智能指针生命周期结束则会自动调用析构函数释放空间。 解决问题:对于new开辟的时候出现异常,导致之前开辟的空间没有手动释放…

VMware虚拟机安装Windows7教程(超详细)

目录 1. 下载2. 安装 VMware3. 安装 Window73.1 新建虚拟机3.2 安装操作系统 4. 设置共享文件夹5. 安装 VMware Tools5.1 下载&安装缺少驱动5.2 开始安装 VMware Tools 6. 未🐔🔥解决 创作不易,禁止转载抄袭!!&…

MyBatis代码生成器:SpringBoot 引入MybatisGenerator

1. 引入插件 <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><!--generator配置⽂件所在位置--><configurati…

7.5 grafana上导入模板看图并讲解告警

本节重点介绍 : blackbox_exporter grafana大盘导入和查看告警配置讲解 grafana大盘 grafana 上导入 blackbox_exporter dashboard 地址 https://grafana.com/grafana/dashboards/13659举例图片http总览图value_mapping设置 展示设置阈值&#xff0c;展示不同背景色 告警配…

过滤和筛选树形结构数据

场景 在平时项目开发中经常会遇到树形数据的处理&#xff0c;如树形数据根据条件值过滤掉不符合条件的选项&#xff0c;如果是最后的子数据符合条件那么就会保存这条树形链路的所有直属数据并过滤掉所有非直属的数据。如果是符合条件的数据还有子元素&#xff0c;那么就保留所…

算法强训day18

一、压缩字符串 链接&#xff1a;压缩字符串(一)_牛客题霸_牛客网 #include<iostream> using namespace std; #include<vector> class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可***…

mac电脑不能快速传输文件的原因是什么 mac无法拷贝文件到移动硬盘的原因是什么 macbook传输速度慢

新买的移动硬盘连接上Mac电脑&#xff0c;想要将Mac上的文件拷贝到移动硬盘里&#xff0c;但是Mac无法拷贝文件到移动硬盘里&#xff0c;直接拖拽、剪切都不行&#xff0c;尤其是一些大的安装包或视频文件的拷贝&#xff0c;需要花费大量的时间&#xff0c;给Mac用户造成了很多…

Excel文档受损打不开,还能修复吗?

Excel作为最常用的表格文件&#xff0c;在我们日常的工作当中使用尤其频繁&#xff0c;且经常涉及到一些重要数据文件的编辑和保存。然而&#xff0c;有时我们会遇到Excel文档受损而无法打开的情况&#xff0c;这无疑会给我们的工作带来诸多不便。那么&#xff0c;当Excel文档受…

SpringCloud API网关

SpringCloud API网关 文章目录 SpringCloud API网关1. 概念2. Spring Cloud Gateway2.1 介绍2.2 操作方式 3.Route Predicate Factories3.1 介绍3.2 使用方式 1. 概念 API网关&#xff0c;简称网关&#xff0c;本身是一个服务&#xff0c;通常作为后端服务的唯一入口&#xff…

git学习准备阶段

准备阶段 ubantu下载安装git sudo apt-get install git查看git版本 git -v注册用户名 git config --global user.name [name][name]填入自己的名字&#xff0c;如果没有空格的情况下&#xff0c;可以不加引号,–global是在全局下操作&#xff0c;如果没有这个参数就只是在本…

Orcale(备份导入导出)

1.备份恢复 1.1.备份定义 备份就是把数据库复制到转储设备的过程。其中&#xff0c;转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本 1.2.备份分类 从物理与逻辑的角度来分类&#xff1a…

C++ 哈希系列容器 + 位图 + 布隆过滤器

目录 1 unordered 系列关联式容器 2 哈希介绍 3 闭散列哈希 4 哈希桶 5 封装实现unordered系列set和map 6 位图 7 哈希切割 8 布隆过滤器 1 unordered 系列关联式容器 在学习哈希结构实现之前&#xff0c;我们先学习一下哈希在库里面的一些使用unordered_set 和unorderen_m…

昂科烧录器支持HolyChip芯圣电子的8位触摸微控制器HC88T3661

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中HolyChip芯圣电子的8位触摸微控制器HC88T3661已经被昂科的通用烧录平台AP8000所支持。 HC88T3661是一颗采用高速低功耗CMOS工艺设计开发的增强型8位触摸微控制器&#xff0c;内…

探索全光网技术 | 全光网络技术方案选型建议一 (办公室场景)

全光网技术方案选型建议 | 办公室场景 目录 一、场景设计需求二、办公室场景拓扑三、部署方式四、产品相关规格说明五、方案优势与特点 校园办公室网络是校园员工日常处理工作的重要载体&#xff0c;学校领导、教学、研究、行政、财务等各部门均需要办公室网络来承载日常的工作…

【已修改 Python】TypeError: ‘tuple’ object does not support item assignment

【已修改 Python】TypeError: ‘tuple’ object does not support item assignment 在Python编程的浩瀚宇宙中&#xff0c;TypeError: tuple object does not support item assignment 是一个令人困惑但又常见的错误。它如幽灵般潜伏在代码的深处&#xff0c;当你不慎尝试修改…