一、引子

主从复制以及哨兵,他们可以提高读的并发,但是单个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三主三从集群搭建相关推荐

  1. 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 端 ...

  2. Redis 多机多节点集群搭建方案(5.0版本)

    >搭建环境: a)redis的安装包,redis-5.0.8.tar.gz b)gcc安装包gcc_rpm.tar.gz c)VM10 d)CentOS镜像文件 >搭建步骤: 1.准备工作 ...

  3. 【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

    目录 3主3从redis集群配置 一.新建6个docker容器redis实例 二.进入容器redis-node-1并为6台机器构建集群关系 三.链接进入6381作为切入点,查看节点状态 四.​​​​​ ...

  4. Redis主从、哨兵及集群搭建

    1.主从复制 目的:读写分离,主写,从读,容灾的快速恢复 主从复制原理:  Slave 启动成功连接到master后会发送-个sync命令. Master 接到命令启动后台的存盘进程,同时收集所有接收 ...

  5. 集群学习分享2:pcs+postgresql一主两从集群搭建

    本文介绍集群学习分享:CentOS7使用pcs+nginx+nfs快速搭建web 在web架构基础上再加入pcs+postgresql数据库高可用: 配置之前最好先做快照 虚拟机节点基本信息: 主机名 ...

  6. Redis【有与无】【AC2】Redis 安装、配置、集群搭建

    本文章基于Redis 6.0.9版本,对Redis配置进行说明 目录 序: 1.准备阶段 2.安装阶段 3.配置 4.创建集群 5.测试 6.防火墙开放端口(选) 7.关闭redis 附录 T.术语 ...

  7. redis相关的详细介绍,包括三主三从集群的搭建

    文章目录 1. 数据结构 1.1 String 1.2 hash 3. 如何搭建redis集群 3.2 哈希槽 1.4 LIST 1.5 SET 1.6 Redis HyperLogLog 1. 数据 ...

  8. MySQL 学习 - Replication集群 - 搭建 - 双主双从

    前言 我们这里说的是双主双从集群搭建,当然这个是看你实际业务,说白了一点 两个主节点双向同步,A集群挂掉时,B集群因为双向同步,立即可以开始工作,实现高可用 基本原理 具体流程 主库将变更写入到主库的 ...

  9. 大数据学前准备--zookeeper详解与集群搭建(保姆级教程)

    前言 本人是才学完大数据的无业游民,我将会总结学习收获或发表自己的学习心得,期望给初学者也为自己今后复习提供一些帮助. 我将陆续发布大数据阶段所学,包括但不限于(hadoop,hive,hbase,p ...

  10. kafka集群搭建(消息)

    1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行 ...

最新文章

  1. 如何设计一门语言(七)——闭包、lambda和interface
  2. 鸟哥的Linux私房菜(基础篇)-第二章、 Linux 如何学习(二.4. 鸟哥的建议(重点在solution的学习))
  3. C++和 C 的区别
  4. Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
  5. 面试题56: 数组中数字出现的次数
  6. Oracle历史记录
  7. shiro访问html没有验证码,Shiro在web应用中实现验证码、回显登录失败信息
  8. vscode格式化 java_VS CODE中配置JAVA格式化细节
  9. 服务器的svnserver修改密码
  10. 电气控制及可编程序控制器【1】
  11. ubuntu安装pgadmin4
  12. 关于数字雨特效的学习
  13. 上海企业英语培训机构排名
  14. RIdeogram 染色体图谱可视化R包
  15. Spring Cloud Gateway 动态路由管理,一点都不吹,应该没有比这更好的管理系统了吧
  16. layui追加或动态修改表单元素不生效
  17. webrtc录制视频
  18. 工作积累⑨——从丁香医生增长看地推的重要性
  19. 自定义View基础:Android中的颜色和颜色混合
  20. java语言程序设计(新手篇)

热门文章

  1. 如何获得你的准确位置及iphon手机应用定位不准确原因分析
  2. 交易风云-MAM、PAMM、社区交易&KlipC:如何选择多账户管理系统
  3. 第五章第二十九题(显示日历)(Display calendars)
  4. 汽车电子行业 常见英文缩写
  5. 吉时利万用表DMM7510,值得拥有的触摸屏数采万用表
  6. 2018年陕西文科生可以报计算机专业am,2018年高考志愿:文科生,可以报考哪些专业!...
  7. 计算机考试文科生报什么专业好就业,文科生也能报考理工科专业?这4个专业不仅能报考,毕业前景大好...
  8. 个人赛 A 题 传球游戏(ball)
  9. 让自己的QQ个人头像Tip也有彩色背景(转)
  10. 孙鑫VC++深入详解笔记