创建redis集群

在虚拟机下创建redis集群。

  1. redis版本:redis-3.2.0.tar.gz

  2. 将tar包解压到指定目录下,如:/home/xingyun/

    进入/home/xingyun/ 目录下,操作如下命令:

    tar -xvzf redis-3.2.0.tar.gz
    mv redis-3.2.0 redis redis
    cd redis
    make
    make install

  3. 在 /home/xingyun/ 目录下创建文件夹 redis_cluster ,然后在次文件夹下创建6个文件夹

    mkdir /home/xingyun/redis_cluster
    cd redis_cluster
    mkdir redis-7001
    mkdir redis-7002
    mkdir redis-7003
    mkdir redis-7004
    mkdir redis-7005
    mkdir redis-7006

  4. 依次将redis安装文件拷贝到redis-7001,redis-7002,……

    cp -rf /home/xingyun/redis/* /home/xingyun/redis_cluster/redis-7001/
    cp -rf /home/xingyun/redis/* /home/xingyun/redis_cluster/redis-7002/
    cp -rf /home/xingyun/redis/* /home/xingyun/redis_cluster/redis-7003/
    cp -rf /home/xingyun/redis/* /home/xingyun/redis_cluster/redis-7004/
    cp -rf /home/xingyun/redis/* /home/xingyun/redis_cluster/redis-7005/
    cp -rf /home/xingyun/redis/* /home/xingyun/redis_cluster/redis-7006/

  5. redis-7001,redis-7002,….代表每个redis实例,修改每个实例的 redis.conf 文件,主要修改如下属性:

    port 7001                         (每个实例对应自己的端口,依次为7001,7002....)
    daemonize yes 
    cluster-enabled yes           (是否启用集群)
    cluster-config-file   nodes.conf     
    cluster-node-timeout  15000    
    appendonly yes 
    logfile "/home/xingyun/redis_cluster/redis_cluster.log"      (日志文件路径可以自己定义)
    
  6. 分别启动每个redis实例

    启动:
    cd /home/xingyun/redis_cluster/redis-7001/
    ./src/redis-server redis.conf
    验证是否启动成功:
    ps -ef | grep redis

    依次启动剩下的实例

    全部启动成功后结果如下:
    6个redis实例启动成功后如下:

    1. 进入任意一个redis实例文件夹下,如redis-7001,执行redis集群创建命令创建集群

      cd /home/xingyun/redis_clustere/redis-7001/src
      ./redis-trib.rb

      redis集群命令

      通过 ./redis-trid.rb 可以查看redis集群所有可用到的命令,这里我们选用create命令,创建命令如下:

      ./redis-trib.rb create –replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004
      127.0.0.1:7005 127.0.0.1:7006

      说明:
      #redis-trib.rb的create子命令构建
      #–replicas 则指定了为Redis Cluster中的每个Master节点配备几个Slave节点
      #节点角色由顺序决定,先master之后是slave

    2. 集群启动成功如下:

      ![redis集群启动成功](https://img-blog.csdn.net/20160708195933200)
      

      注意观察 主从配置:
      默认的前三个节点 7001,7002,7003 是主,后三个节点 7004,7005,7006 是从
      redis集群存储的key是在slot(槽)中,一个slot可以保存多个key,计算key属于哪个slot的公式
      为 slot_number = crc16(key) %16384, 其中crc16 位16位的循环冗余校验和函数,redis集群会将slot
      均为给每个节点,如图上节点7001分配5461个slot,7002分配5462个slot
      如果是部署在不同的服务器,请根据主从分配规则,分开在不同的服务器,至此redis集群搭建成功!

    3. 使用 redis-cli 命令进入集群环境

      redis-cli -c -p 7001

      注意问题,在按照redis集群时可能会出现下面错误

      1.执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
      错误内容:/usr/bin/env: ruby: No such file or directory
      所以需要安装ruby的环境,这里推荐使用yum install ruby

      安装 yum install ruby

      2.然后再执行创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装
      错误内容: ./redis-trib.rb:24:in `require’: no such file to load – rubygems (LoadError) from ./redis-trib.rb:24

      安装 yum install rubygems

      1. 再次执行执行创建集群命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装
        错误内容:
        /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
        gem_original_require': no such file to load -- redis (LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
        require’
        from ./redis-trib.rb:25

        安装 gem install redis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值