Redis三主三从集群搭建
一、引子
主从复制以及哨兵,他们可以提高读的并发,但是单个master容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多master-slave集群(看原理图)。
所以一起来学习redis-cluster:他可以支撑多个master-slave,支持海量数据,实现高可用与高并发。哨兵模式其实也是一种集群,他能够提高读请求的并发,但是容错方面可能会有一些问题,比如master同步数据给slave的时候,这其实是异步复制吧,这个时候 master宕机了,那么slave上的数据就没有master新,数据同步需要时间的,1-2秒的数据会丢失。master恢复并转换成slave后,新数据则丢失。
Redis-Cluster集群特点
- 1.每个节点知道彼此之间的关系,也会知道自己的角色,当然他们也会知道自己存在与一个集群环境中,他们彼此之间可以交互和通信,比如说ping - pong。那么这些关系都会保存到某个配置文件中,每个节点都有,这个我们在搭建的时候会做配置的。
- 2.客户端要和集群建立连接的话,只需要和其中一个建立关系就行。
- 3.某个节点挂了,也是通过超过半数的节点来进行的检测,客观下线后主从切换,和我们之前在哨兵模式中提到的是一个道理。
- 4. Redis中存在很多的插槽,又可以称之为槽节点,用于存储数据。
集群容错
构建Redis集群,需要至少3个节点作为master,以此组成一个高可用的集群,此外每个master都需要配备一个slave,所以整个集群需要6个节点,这也是最经典redis集群模式,也可以称之为三主三从,容错性更佳。所以在搭建的时候需要有6台虚拟机。请各自准备6台虚拟机,并安装好redis(可以通过克隆去构建,使用单实例的Redis去克隆即可)
- 集群也可以在单服务器构建,称之为伪集群,但是生产环境肯定是真的,所以建议用6台。
- 克隆后务必关闭Redis
二、原理图
(redis安装redis在CentOs服务器上的安装和设置开机自启动_p&f°的博客-CSDN博客)
三、具体实现
Ⅰ 修改redis.conf主配置文件(先说192.168.1.201配置,其他5台一样)
1、进入redis.conf主配值文件夹,修改rendis.conf配置
cd /usr/local/redisvim redis.conf
找到如下位置
2、修改如下提到的配置
#开启集群模式
cluster-enabled yes#每一个节点需要有一个配置文件,需要6份。
#每个节点处于集群的角色都需要告知其他所有节点,彼此知道
#这个文件用于存储集群信息,不需要人为干预
cluster-config-file nodes-6379.conf#超时时间,超时则认为master宕机,随后主备切换
cluster-node-timeout 5000#开启AOF
appendonly yes
3、清除redis持久化生成的rdb等文件。这一步不是必须的,第一次安装一般没有这些文件,如果有删除即可。(如果后期启动过程出错,极大概况忘记删除了,把rdb等文件删除清空就行)
(如果找不到位置,请查看Redis的持久化机制(RDB和AOF)(1)_p&f°的博客-CSDN博客
中的RDB的配置第一条 1. 保存位置。对照自己的持久化策略即可)
4、重启redis,查看是否重启成功
5、重复以上4步操作,修改剩余5台CentOs
Ⅱ 创建集群
1、创建命令(随便在那个CentOs中执行创建)
######注意1:如果你使用的是redis3.x版本,需要使用redis-trib.rb来构建集群
######注意2:最新版使用C语言来构建了,这个要注意。以下为新版的redis构建方式######创建集群,主节点和从节点比例为1,1-3为主,4-6为从,1和4,2和5,3和6分别对应为主从关系,这也是最经典用的最多的集群redis-cli --cluster create ip1:port1 ip2:port2 ip3:port3 ip4:port4 ip5:port5 ip6:port6 --cluster-replicas 1
输入完创建命令后,会显示集群配置信息,如下。输入yes同意即可创建成功
2、检查集群信息。创建成功后可以使用如下命令
redis-cli --cluster check 192.168.1.201:6379
扩展1:
slots:槽,用于装数据,主节点有,从节点没有
1、总共有16384个槽,会平均分配给master节点
2、槽slot怎么存储
存储举例说明
主节点把数据存入slot槽中,从节点不会存储数据,当master挂掉时,会把对应的数据存入到对应的slave中。
比如:2栋起火了(master挂了),101用户就会到5栋(slave替代master,成为master)101。
扩展2:集群基本命令
扩展三:springboot集成redis集群
在springboot集群中配置即可
spring:redis:#Redis 集群模式password: imooccluster:nodes: 192.168.1.201:6379,192.168.1.202:6379,192.168.1.203:6379,192.168.1.204:6379,192.168.1.205:6379,192.168.1.206:6379
Redis三主三从集群搭建相关推荐
- Redis【第二篇】集群搭建
第一步:准备 1.安装包 ruby-2.4.0.tar.gz rubygems-2.6.10.tgz zlib-1.2.11.tar.gz redis-3.3.2.gem 2. 架构: 名称 IP 端 ...
- Redis 多机多节点集群搭建方案(5.0版本)
>搭建环境: a)redis的安装包,redis-5.0.8.tar.gz b)gcc安装包gcc_rpm.tar.gz c)VM10 d)CentOS镜像文件 >搭建步骤: 1.准备工作 ...
- 【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群
目录 3主3从redis集群配置 一.新建6个docker容器redis实例 二.进入容器redis-node-1并为6台机器构建集群关系 三.链接进入6381作为切入点,查看节点状态 四. ...
- Redis主从、哨兵及集群搭建
1.主从复制 目的:读写分离,主写,从读,容灾的快速恢复 主从复制原理: Slave 启动成功连接到master后会发送-个sync命令. Master 接到命令启动后台的存盘进程,同时收集所有接收 ...
- 集群学习分享2:pcs+postgresql一主两从集群搭建
本文介绍集群学习分享:CentOS7使用pcs+nginx+nfs快速搭建web 在web架构基础上再加入pcs+postgresql数据库高可用: 配置之前最好先做快照 虚拟机节点基本信息: 主机名 ...
- Redis【有与无】【AC2】Redis 安装、配置、集群搭建
本文章基于Redis 6.0.9版本,对Redis配置进行说明 目录 序: 1.准备阶段 2.安装阶段 3.配置 4.创建集群 5.测试 6.防火墙开放端口(选) 7.关闭redis 附录 T.术语 ...
- redis相关的详细介绍,包括三主三从集群的搭建
文章目录 1. 数据结构 1.1 String 1.2 hash 3. 如何搭建redis集群 3.2 哈希槽 1.4 LIST 1.5 SET 1.6 Redis HyperLogLog 1. 数据 ...
- MySQL 学习 - Replication集群 - 搭建 - 双主双从
前言 我们这里说的是双主双从集群搭建,当然这个是看你实际业务,说白了一点 两个主节点双向同步,A集群挂掉时,B集群因为双向同步,立即可以开始工作,实现高可用 基本原理 具体流程 主库将变更写入到主库的 ...
- 大数据学前准备--zookeeper详解与集群搭建(保姆级教程)
前言 本人是才学完大数据的无业游民,我将会总结学习收获或发表自己的学习心得,期望给初学者也为自己今后复习提供一些帮助. 我将陆续发布大数据阶段所学,包括但不限于(hadoop,hive,hbase,p ...
- kafka集群搭建(消息)
1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行 ...
最新文章
- 如何设计一门语言(七)——闭包、lambda和interface
- 鸟哥的Linux私房菜(基础篇)-第二章、 Linux 如何学习(二.4. 鸟哥的建议(重点在solution的学习))
- C++和 C 的区别
- Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
- 面试题56: 数组中数字出现的次数
- Oracle历史记录
- shiro访问html没有验证码,Shiro在web应用中实现验证码、回显登录失败信息
- vscode格式化 java_VS CODE中配置JAVA格式化细节
- 服务器的svnserver修改密码
- 电气控制及可编程序控制器【1】
- ubuntu安装pgadmin4
- 关于数字雨特效的学习
- 上海企业英语培训机构排名
- RIdeogram 染色体图谱可视化R包
- Spring Cloud Gateway 动态路由管理,一点都不吹,应该没有比这更好的管理系统了吧
- layui追加或动态修改表单元素不生效
- webrtc录制视频
- 工作积累⑨——从丁香医生增长看地推的重要性
- 自定义View基础:Android中的颜色和颜色混合
- java语言程序设计(新手篇)
热门文章
- 如何获得你的准确位置及iphon手机应用定位不准确原因分析
- 交易风云-MAM、PAMM、社区交易&KlipC:如何选择多账户管理系统
- 第五章第二十九题(显示日历)(Display calendars)
- 汽车电子行业 常见英文缩写
- 吉时利万用表DMM7510,值得拥有的触摸屏数采万用表
- 2018年陕西文科生可以报计算机专业am,2018年高考志愿:文科生,可以报考哪些专业!...
- 计算机考试文科生报什么专业好就业,文科生也能报考理工科专业?这4个专业不仅能报考,毕业前景大好...
- 个人赛 A 题 传球游戏(ball)
- 让自己的QQ个人头像Tip也有彩色背景(转)
- 孙鑫VC++深入详解笔记