Redis 集群环境安装(详细步骤)

1、基础环境信息

  • 系统环境为:Windows
  • 在Windows环境中安装VMware中安装3台centos 7
  • xshell,访问centos 7 系统
  • centos 环境需要安装 gcc-c++,否则redis编译不过。yum install gcc-c++

2、主机信息

主机名ip端口
CentOS7_01192.168.8.1676001
6002
6003
6004
6005
6006

3、Redis 集群基本介绍

  • Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施
  • Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低Redis集群的性能, 并导致不可预测的行为。
  • Redis 集群通过分区partition来提供一定程度的可用性availability: 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
  • Redis集群提供了将数据自动切分split到多个节点的能力。
  • 当Redis集群中的一部分节点失效或者无法进行通讯时, 仍然可以继续处理命令请求的能力。

4、Redis集群原理

  • 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
  • 节点的fail是通过集群中超过半数的节点检测失效时才生效。
  • 客户端与redis节点直连,不需要中间proxy层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。
  • redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value。

    备注:

        Redis集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

5、Redis集群容错

  • Redis通过投票来决定节点是否可用。投票过程是集群中所有master参与,如果半数以上master节点与master节点通信超时(cluster-node-timeout),认为当前master节点挂掉。
  • 如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完整时进入fail状态.。则集群不可用。
  • 如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完整时进入fail状态。集群不可用。

6、集群搭建

(1)、下载redis:wget http://download.redis.io/releases/redis-5.0.5.tar.gz

(2)、解压:tar -zxvf redis-5.0.5.tar.gz

(3)、切换目录并编译:cd redis-5.0.5/; make

(4)、在/use/local/redis-cluster 目录下创建6001~6006 6个文件夹,如下图: 

         

(5)、分别在6个目录下创建redis.conf文件,内容如下:

        

  注意:红色标注的地方替换成对应的文件(也就是事先指定的6001~6006)

(7)、依次启动6个redis实例,并制定对应的配置文件:

./redis-server  /usr/local/redis-cluster/6001/redis.conf
./redis-server  /usr/local/redis-cluster/6002/redis.conf
./redis-server  /usr/local/redis-cluster/6003/redis.conf
./redis-server  /usr/local/redis-cluster/6004/redis.conf
./redis-server  /usr/local/redis-cluster/6005/redis.conf
./redis-server  /usr/local/redis-cluster/6006/redis.conf

# 查看进程
ps -ef |grep redis

至此:集群已经创建成功。

(8)、创建集群

./redis-cli --cluster create 192.168.8.167:6001 192.168.8.167:6002 192.168.8.167:6003 192.168.8.167:6004 192.168.8.167:6005 192.168.8.167:6006 --cluster-replicas 1

注意:ip根据自己的主机ip填写。

至此:集群已经创建成功。

(9)、redis 集群启动、停止脚本

    redis提供了管理集群的脚本,可快速启动、停止集群。

  • 进入redis目录中utils/create-cluster
  • 集群启动脚本默认端口是从30001~30006,如果使用该端口可不做修改,本人使用的是6001~6006,需要修改启动脚本。脚本中  NODES=6  是6个实例,PORT=6000,是从6000开始自增

(10)、启动和关闭集群

  • ./create-cluster start

  • ./create-cluster stop

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值