哨兵模式主要解决了手动切换主从节点的问题

1 , 哨兵模式的缺陷

.主从节点切换的时候存在访问瞬断,等待时间较长,

.只有一个master节点提供写,slave节点提供读,尽管写的效率是10万/秒,在电商大促时,写的压力全部集中在master节点上。

.master节点的内存不能设置的太大,否则持久化文件过大,影响主从同步

2,redis-cluster集群模式

Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster能起到很好的负载均衡的目的。

Redis Cluster集群节点最小配置6个节点以上(3主3从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用。

优点:

1.没有中心架构,有多个主节点,每个主节点都可以读写

2,数据按照slot分布存储在多个节点,节点之间数据共享,可以动态调整数据分布

3,可线性拓展到1000多个节点,节点可以动态新增和删除

redis-cluster集群安装

1,在redis安装目录下/opt/redis-4.0.6/创建redis-cluster目录,在该目录下面再创建6个目录

,分别命名8001,8002,8003,8004,8005,8006。文件结构如下

2, 将redis安装目录/usr/local/redis-4.0.6下的redis.conf文件拷贝至8001文件夹,并修改以下配置:

daemonize yes #开启后台运行
port 8001 #工作端口
bind 172.16.0.15 #绑定机器的内网IP,一定要设置呀老铁,不要用127.0.0.1
dir /usr/local/redis-cluster/8001/ #指定工作目录,rdb,aof持久化文件将会放在该目录下,不同实例一定要配置不同的工作目录
cluster-enabled yes #启用集群模式
cluster-config-file nodes-8001.conf #生成的集群配置文件名称,集群搭建成功后会自动生成,在工作目录下
cluster-node-timeout 5000 #节点宕机发现时间,可以理解为主节点宕机后从节点升级为主节点时间
appendonly yes #开启AOF模式
pidfile /var/run/redis_8001.pid #pid file所在目录

3. 把8001文件夹下的redis.conf文件拷贝到其他5个目录,并重新修改port 、dir、cluster-config-file 三个属性,这里可以使用sed命令快速修改

[root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8002/g' 8002/redis.conf
[root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8003/g' 8003/redis.conf
[root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8004/g' 8004/redis.conf
[root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8005/g' 8005/redis.conf
[root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8006/g' 8006/redis.conf

4, 由于创建集群需要用到redis-trib这个命令,它依赖Ruby和RubyGems,因此我们要先安装一下

下载链接:https://pan.baidu.com/s/1kWsf3Rh 密码:n3pc
从这个链接下载  ruby-2.3.1.tar.gz   和  redis-3.3.0.gem
  tar -zxvf ruby-2.3.1.tar.gz 
  a,  cd ruby-2.3.1
  b,  ./configure -prefix=/opt/ruby
  c,  make && make install   //过程会有点慢,大概5-10分钟
  d,  然后gem install -l redis-3.3.0.gem  //若没有gem需要安装yum install gem -y

5 , Ruby安装完成之后,我们开始启动6个节点

[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8001/redis.conf
[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8002/redis.conf
[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8003/redis.conf
[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8004/redis.conf
[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8005/redis.conf
[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8006/redis.conf

6, 查看redis集群启动情况

[root@yangxXNJ-master ~]# ps -ef|grep redis
root      28079   6654  0 22:23 pts/0    00:00:00 ./redis-server *:6379
root      28238      1  0 22:24 ?        00:00:04 ./src/redis-server 192.168.145.4:8001 [cluster]
root      28517      1  0 22:25 ?        00:00:04 ./src/redis-server 192.168.145.4:8002 [cluster]
root      28591      1  0 22:26 ?        00:00:04 ./src/redis-server 192.168.145.4:8003 [cluster]
root      28662      1  0 22:26 ?        00:00:04 ./src/redis-server 192.168.145.4:8004 [cluster]
root      28701      1  0 22:26 ?        00:00:04 ./src/redis-server 192.168.145.4:8005 [cluster]
root      28718      1  0 22:26 ?        00:00:04 ./src/redis-server 192.168.145.4:8006 [cluster]

6个节点已经正常启动

7,[root@VM_0_15_centos redis-4.0.6]# ./src/redis-trib.rb create --replicas 1 192.168.145.4:8001 192.168.145.4:8002 192.168.145.4:8003 192.168.145.4:8004 192.168.145.4:8005 192.168.145.4:8006

Redis高可用集群redis-cluster相关推荐

  1. Redis高可用集群Redis Cluster搭建

    前言: Redis3.0版本之前,可以通过Redis Sentinel(哨兵)来实现高可用 ( HA ),从3.0版本之后,官方推出了Redis Cluster,它的主要用途是实现数据分片(Data ...

  2. 部署Redis高可用集群

    目录 部署Redis高可用集群 Redis集群环境 拓扑结构 IP地址 环境准备 工作原理 创建Redis集群 部署管理主机 redis-trib.rb脚本 redis服务器开启集群功能 管理主机创建 ...

  3. docker搭建redis高可用集群

    目标:docker搭建redis高可用集群 1.架构:六个redis容器,三主三从,主从复制,主机宕机从机自动替代 2.网络架构设计:设计一个专属redis的docker网络 docker netwo ...

  4. redis高可用集群

    一.redis集群方案比较 主从哨兵模式 redis3.0之前的版本实现集群一般采用的方案是借助哨兵sentinel工具来监控master节点的状态,如果master主节点异常,则会做主从切换,将一台 ...

  5. redis 04:Redis高可用集群

    文章目录 一.Redis集群方案比较 二.Redis高可用集群搭建 三.Java操作redis集群 四.Redis集群原理分析 五.集群伸缩 5.1 集群扩展 5.1 缩容集群 六.总结 以下参考了图 ...

  6. 【❤️万字长文总结❤️】一篇学会Redis高可用✔集群✔搭建详细教程

    大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:今天总结一下Redis集群高可用的搭建流程 [惊喜推荐+优质资源 ...

  7. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    ================================================= 人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助! 点击查看高清无码教程 == ...

  8. 采用 redis主从 + 哨兵(sentinel) + vip漂移搭建一套redis高可用集群

    一.单个实例 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行. 单个实例 二.备份 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份( ...

  9. redis高可用集群搭建

    上篇博客记录了哨兵模式的集群搭建,今天搭建高可用的redis集群以及两种集群架构的对比. 搭建集群(参考redis官方文档) 1.在redis目录中创建cluster目录,cluster下分别创建存放 ...

  10. Redis高可用集群部署和集群扩展

    文章目录 一.前言 二.集群配置 2.1 说明 2.2 配置 2.3 启动redis 2.4 集群操作 2.5 验证集群 2.5.1 springboot配置文件 2.5.2 代码测试 2.5.3 集 ...

最新文章

  1. 比特币现金成为第二个最有价值的区块链
  2. UI渲染回顾简单笔记
  3. 【GitHub教程】如何使用Eclipse将本地项目上传到github
  4. git 短写设置_如何在短短几分钟内设置一个Git客户端
  5. GitChat专栏:Spring Cloud 与 Consul 的整合使用
  6. 华为服务器备件系统,华为企业业务中国区经销商备件系列宣传(共8期)
  7. 谷歌大脑AutoML最新进展:不断进化的阿米巴网络
  8. php 三个等号与两个等号,浅析JavaScript和PHP中三个等号(===)和两个等号(==)的区别...
  9. 实战项目 仿写小米商城 网页框架
  10. mysql front连接_如何用MySQL-Front远程连接MySql?
  11. 图片分享和加载失败的原因之一
  12. Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)
  13. EDM营销的关键是什么
  14. jmeter性能测试--对MQTT服务做压力测试
  15. 利用XML制作UGUI登陆界面
  16. Docker的 Overlay/Overlay2 文件系统
  17. os.system和os.popen和commands
  18. C陷阱与缺陷 第3章 语义“陷阱” 3.4 避免“举偶法”
  19. 使用canvas实现小矮人行走案例
  20. 虚拟机的vmem lck到底是个啥玩意 用虚拟机很有可能一不小心就把虚拟机搞崩了如何解决

热门文章

  1. 大数据 + VR 全景技术重塑“二手车买车场景”
  2. foxmail邮件已发送成功 但是已发送邮件里面却没有怎么回事?foxmial已发送邮件里面邮件消失问题的解决办法?foxmail发送邮件突然已发送邮箱里面找不到记录了
  3. 如何成为web前端大神以及进阶之路
  4. 一个项目轻松学AI与电化学电池模型快充耦合实现充电的快人一步,安全无事故
  5. 服务器查看光模块信息的命令,能不能通过命令查看到端口上所接光模块的信息...
  6. .NET Word模板引擎--MiniWord,继MiniExcel后又一开源作品!
  7. python小工具-使用百度语音接口进行划字朗读
  8. instagram加速器_python中的instagram过滤器
  9. PayPal 的大小周,又续了一次
  10. 前程无忧,acw_sc__v2