redis集群至少需要三个master节点,并且每个master节点再搭建一个slave节点,总共至少6个节点,由于节点较多,采用一台服务器创建6个redis实例,并将6个redis实例配置成集群模式,模拟出伪集群模式,但真正的分布式集群模式配置一样,搭建伪集群模式的步骤如下:

第一步:在/usr/local 下创建文件夹redis-cluster,然后在redis-cluster文件夹下创建9个文件夹如下

  1. mkdir -p /usr/local/redis-cluster

  2. mkdir 8001 8002 8003 8004 8005 8006 8007 8008 8009

第二步:把安装的redis.conf 拷贝进8001,修改如下内容

  1. daemonize yes 后台服务模式启动

  2. port 8001  端口

  3. bind  114.55.116.177(必须要绑定当前机器的ip,这里方便redis集群定位机器,不绑定可能会出现循环查找集群节点机器的情况

  4. dir /usr/local/redis-cluster/8001/ (指定数据文件存放的位置,必须指定不同的目录,不然会出现数据丢失)

  5. cluster-enabled yes (启动集群模式)

  6. cluster-config-file nodes-8001.conf (这里800*对应不同端口)

  7. cluster-node-timeout 5000

  8. appendonly yes

第三步:把8001下修改后的redis.conf copy到各个800X文件夹下,注意每个文件要修改第2,4,6里面的端口号,可以批量替换:

:%s/源字符串/目的字符串/g    :%s/8001/8002/g

第四部:由于redis集群需要使用ruby命令,所以我们需要安装ruby

  1. yum install ruby

  2. yum install rubygems

  3. gem install redis –version 3.0.6(安装redis 和ruby接口,redis版本号是多少就写多少)

第五步:分别启动9个redis实例,然后检查是否启动成功

  1. /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/800*/redis.conf

  2. ps -ef | grep redis 查看是否启动成

第六步:在redis安装目录下执行redis-trib.rb命令创建整个redis集群

  1. cd /usr/local/redis/src

  2. ./redis-trib.rb create –replicas  2 114.55.116.177:8001 114.55.116.177:8002 114.55.116.177:8003 114.55.116.177:8004 114.55.116.177:8005 114.55.116.177:8006 114.55.116.177:8007 114.55.116.177:8008 114.55.116.177:8009 

    注意事项:如果note节点设置了密码requirepass zzs888,则使用上面集群redis-trib.rb命令 会报 [ERR] Sorry, can't connect to node 114.55.116.177:8001

    解决办法:vim /usr/local/rvm/gems/ruby-2.3.1/gems/redis-3.0.6/lib/redis/client.rb 修改password

    注意:client.rb路径可以通过find命令查找:find / -name 'client.rb'

    1.png

第七步:检测验证redis集群

1.使用 info 命令指定集群上任一节点的地址便可以查看集群状态

 ./src/redis-trib.rb info 114.55.116.177:8001

3.png

2.redis-cli -c -h 114.55.116.177 -p 8002 -a zzs@888 连接集群set get 查看下

2.png