Linux搭建Redis三主三从集群

如何使用Redis搭建分布式集群Cent0S7

  1. Redis的主从复制

    在Redis4.0后摈弃了 ,因为在主机故障时从机不能自动替换主机

  2. Redis中的哨兵模式

    解决了主从复制中的自动故障转移的问题,但是没有解决单节点压力问题

  3. Redis的集群

    同时解决了上述问题,redis3.0后开始支持集群的搭建

  4. Redis的集群细节

    1. 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

    2. 节点的fail是通过集群中超过半数的节点检测失效时才生效.

    3. 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

    4. redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value

  5. Redis的容错细节

    1. 领着选举过程是集群中所有master参与,如果半数以上master节点与master节点通信超过(cluster-node-timeout),认为当前master节点挂掉

    2. 什么时候整个集群不可用(cluster_state:fail),当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误

  6. 注意

    1. ​ 判断一个是集群中的节点是否可用,是集群中的所用主节点选举过程,如果半数以上的节点认为当前节点挂掉,那么当前节点就是挂掉了,所以搭建redis集群时建议节点数最好为奇数.

    2. 搭建集群至少需要三个主节点,三个从节点,至少需要6个节点

  7. redis集群的开发步骤:

    1. 搭建ruby环境 在线安装

      yum install ruby

    2. 引入redis集群的支持 redis-3.2.1.gem

      安装 gem install redis-3.2.1.gem

    3. 模拟集群环境 在一台虚拟机上启动七台redis

      修改端口号

    4. 在redis.conf文件中修改如下配置

      a)cluster-enabled yes //开启集群模式

      b)cluster-config-file nodes-.conf //集群节点配置文件

      c)cluster-node-timeout 5000 //集群节点超时时间

      d)appendonly yes //开启AOF持久化

    5. 准备七个文件夹 里面分别放置redis.conf文件

      例如:
      在这里插入图片描述

      每个redis.conf都要修改端口号和第4步的配置信息

    6. 然后将七个文件夹上传到redis 并移动到redis文件夹里和bin目录同级

    7. 然后分别启动六个redis服务

      执行 ./redis-server …/7000/redis.conf

      执行 ./redis-server …/7001/redis.conf

      执行 ./redis-server …/7006/redis.conf

    8. 进入redis的源码包 进入src目录 将redis-trib.rb 拷贝到/usr/redis/bin目录下(每个人放置的位置都不一样 找到就行)

      执行 cp redis-trib.rb /usr/redis/bin/

    9. 1一个节点一个从机 到bin目录下 执行 下面的命令 192.168.56.208 是我的网卡IP

    ./redis-trib.rb create --replicas 1 192.168.56.208:7000 192.168.56.208:7001 192.168.56.208:7002 192.168.56.208:7003 192.168.56.208:7004 192.168.56.208:7005

    1. 查看接群节点的状态 随意连接一个节点 测试

      执行./redis-trib.rb check 192.168.56.208:7000

    2. 集群节点的操作

      1. 给集群添加一个主节点

        ./redis-trib.rb add-node 192.168.56.208:7006 192.168.56.208:7005

      2. 向集群中添加副本节点

        ./redis-trib.rb add-node-slave 192.168.56.208:7006 192.168.56.208:7000

      3. 从集群中删除副本节点

        ./redis-trib.rb del-node 192.168.56.208:7006

      4. 重新分片 (重新分配slot hash槽)

        ./redis-trib.rb reshard 192.168.56.208:7000

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值