Redis集群

安装包

redis-4.0.0.tar.gz

  1. 下载并解压redis

    1
    2
    3
    cd /alidata/package
    wget http://download.redis.io/releases/redis-4.0.0.tar.gz
    tar -zxvf redis-4.0.0.tar.gz
  2. 编译安装

    1
    2
    cd redis-4.0.0
    make && make install
  3. 新建 redis 目录,便于管理

    1
    2
    3
    4
    5
    6
    cd /alidata
    mkdir -p redis/bin
    mkdir -p redis/etc
    cp package/redis-4.0.0/redis.conf redis/etc
    cd package/redis-4.0.0/src
    cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /alidata/redis/bin/
  4. 新建 redis_cluster 目录, 并在目录下新建 7001,7002,7003,7004,7005,7006 子目录

    1
    2
    3
    4
    cd /alidata
    mkdir redis_cluster
    cd redis_cluster
    mkdir 7000 7001 7002 7003 7004 7005 7006
  1. 将 redis.conf 拷贝至 7000-7006 这几个目录里

    1
    2
    3
    4
    5
    6
    7
    cp /alidata/redis/etc/redis.conf 7000/
    cp /alidata/redis/etc/redis.conf 7001/
    cp /alidata/redis/etc/redis.conf 7002/
    cp /alidata/redis/etc/redis.conf 7003/
    cp /alidata/redis/etc/redis.conf 7004/
    cp /alidata/redis/etc/redis.conf 7005/
    cp /alidata/redis/etc/redis.conf 7006/
  2. 依次修改 7000-7006 目录下的redis.conf

    1
    2
    3
    4
    5
    6
    7
    8
    port 7000 #端口7000-7006
    bind 127.0.0.1
    daemonize yes #后台运行
    pidfile /var/run/redis_7000.pid #pidfile文件对应7000-7006
    cluster-enabled yes #开启集群
    cluster-config-file nodes-7000.conf #集群的配置,对应7000-7006
    cluster-node-timeout 15000 #请求超时,默认15秒
    appendonly yes #aof日志开启
  3. 启动节点

    1
    2
    3
    4
    5
    6
    7
    8
    cd /alidata/redis/bin
    redis-server /alidata/redis_cluster/7000/redis.conf
    redis-server /alidata/redis_cluster/7001/redis.conf
    redis-server /alidata/redis_cluster/7002/redis.conf
    redis-server /alidata/redis_cluster/7003/redis.conf
    redis-server /alidata/redis_cluster/7004/redis.conf
    redis-server /alidata/redis_cluster/7005/redis.conf
    redis-server /alidata/redis_cluster/7006/redis.conf
  4. 检测redis启动情况

    1
    ps -ef | grep redis

  5. 创建集群

    1
    redis-trib.rb create --replicas 1 127.0.0.1:7000 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


    若提示:/usr/bin/env: ruby: No such file or directory, 则安装 ruby 后重新运行

    1
    2
    yum -y install ruby ruby-devel rubygems rpm-build
    gem install redis
  6. 输入 yes

  7. 运行命令

多台服务器集群步骤

例:A(192.168.160.130),B(192.168.160.131) 两台服务器

  1. A服务器创建 7000、7001、7002 三个目录, B服务器创建 7003、7004、7005 三个目录
  2. 配置 redis.conf, 7000、7001、7002 三个目录下的redis.conf的 bind 127.0.0.1 修改成 bind 192.168.160.130, 而7003、7004、7005 三个目录下的 redis.conf 的 bind 127.0.0.1 修改成 bind 192.168.160.131
  3. 启动A、B服务器的节点
  4. 创建集群

    1
    redis-trib.rb create --replicas 1 192.168.160.130:7000 192.168.160.130:7001 192.168.160.130:7002 192.168.160.131:7003 192.168.160.131:7004 192.168.160.131:7005 127.0.0.1:7006
  5. 在A服务器运行命令

    1
    2
    redis-cli -c -h 192.168.160.130 -p 7000 
    set foo bar
  6. 在B服务器运行命令

    1
    2
    redis-cli -c -h 192.168.160.131 -p 7003
    get foo
0%