Redis4.0集群安装简介
1.安装文件
2.编译安装
2.1安装redis
2.2安装ruby
3.实例配置
4.安装依赖
5.启动实例
6.启动集群
7.维护Redis集群
7.1修改配置
7.2常用命令

1.安装文件

本例安装版本为redis4.0,下载好以下安装文件:

redis-4.0.0.rc1.gem 


redis-4.0.2.tar.gz 


ruby-2.4.2.tar.gz



这里使用两台主机搭建redis集群,30.16.95.138、30.16.95.139,各搭建10个实例。

分别拷贝到两台主机安装目录下

2.编译安装

2.1安装redis

分别解压redis-4.0.2.tar.gz到安装目录
进入根目录执行

1. make
2. make install

2.2安装ruby

分别解压ruby-2.4.2.tar.gz到安装目录

进入根目录执行

    1. make
    2. make install


    注意账户权限问题,需要部分root权限

    3.实例配置

    分别在两台主机上执行以下命令(ip需修改),新建实例根目录和生成配置文件,本配置应用于判重业务,具体配置项可以根据自己需要修改,如果主机由多个磁盘,可以将实例的根目录设置到不同磁盘下,提高IO性能。

    1. for i in {7000..7001};do (mkdir -p /data1/redis/redis-cluster/nodes-$i;cp redis.conf /data1/redis/redis-cluster/nodes-$i;echo "
    2. port $i
    3. bind 30.16.95.139
    4. daemonize yes
    5. cluster-enabled yes
    6. cluster-config-file nodes.conf
    7. pidfile /data1/redis/redis-cluster/nodes-$i/redis.pid
    8. logfile /data1/redis/redis-cluster/nodes-$i/redis.log
    9. dir /data1/redis/redis-cluster/nodes-$i
    10. save 3600 1
    11. save 600 1000
    12. save 60 100000
    13. dbfilename dump.rdb
    14. cluster-node-timeout 60000
    15. cluster-require-full-coverage no
    16. appendfsync no
    17. masterauth password
    18. requirepass password
    19. maxmemory 6442450944
    20. " >/data1/redis/redis-cluster/nodes-$i/redis.conf;);done;
    21. for i in {7000..7001};do (mkdir -p /data1/redis/redis-cluster/nodes-$i;cp redis.conf /data1/redis/redis-cluster/nodes-$i;echo "
    22. port $i
    23. bind 30.16.95.139
    24. daemonize yes
    25. cluster-enabled yes
    26. cluster-config-file nodes.conf
    27. pidfile /data1/redis/redis-cluster/nodes-$i/redis.pid
    28. logfile /data1/redis/redis-cluster/nodes-$i/redis.log
    29. dir /data1/redis/redis-cluster/nodes-$i
    30. save 3600 1
    31. save 600 1000
    32. save 60 100000
    33. dbfilename dump.rdb
    34. cluster-node-timeout 60000
    35. cluster-require-full-coverage no
    36. appendfsync no
    37. masterauth password
    38. requirepass password
    39. maxmemory 6442450944
    40. " >/data1/redis/redis-cluster/nodes-$i/redis.conf;);done;



    其中有些系统配置建议修改,以提高redis性能,高于指标的项可以忽略

    1. echo 1 >/proc/sys/vm/overcommit_memory
    2. echo never > /sys/kernel/mm/transparent_hugepage/enabled
    3. echo 1024>/proc/sys/net/core/somaxconn
    4. echo "*hard nproc 262144">> /etc/security/limits.d/90-nproc.conf

    4.安装依赖

    之前安装的ruby,现在可以使用其gem安装集群调用的依赖包。

    在线安装允许的话,执行以下命令

      1. gem install redis

      否则离线安装

        1. gem install –l redis-4.0.0.rc1.gem

        5.启动实例

        在启动前可以配置好ruby和redis的环境变量,下面是直接启动的命令

          1. /data0/soft/redis-4.0.2/src/redis-server /data1/redis/redis-cluster/nodes-7000/redis.conf
          2. /data0/soft/redis-4.0.2/src/redis-server /data1/redis/redis-cluster/nodes-7001/redis.conf
          3. /data0/soft/redis-4.0.2/src/redis-server /data2/redis/redis-cluster/nodes-7002/redis.conf
          4. /data0/soft/redis-4.0.2/src/redis-server /data2/redis/redis-cluster/nodes-7003/redis.conf
          5. /data0/soft/redis-4.0.2/src/redis-server /data3/redis/redis-cluster/nodes-7004/redis.conf
          6. /data0/soft/redis-4.0.2/src/redis-server /data3/redis/redis-cluster/nodes-7005/redis.conf
          7. /data0/soft/redis-4.0.2/src/redis-server /data4/redis/redis-cluster/nodes-7006/redis.conf
          8. /data0/soft/redis-4.0.2/src/redis-server /data4/redis/redis-cluster/nodes-7007/redis.conf
          9. /data0/soft/redis-4.0.2/src/redis-server /data5/redis/redis-cluster/nodes-7008/redis.conf
          10. /data0/soft/redis-4.0.2/src/redis-server /data5/redis/redis-cluster/nodes-7009/redis.conf

          6.启动集群

          在任意一台主机上启动集群

            1. /data0/soft/redis-4.0.2/src/redis-trib.rb  create --replicas 1 30.16.95.139:7000 30.16.95.139:7001 30.16.95.139:7002 30.16.95.139:7003 30.16.95.139:7004 30.16.95.139:7005 30.16.95.139:7006 30.16.95.139:7007 30.16.95.139:7008 30.16.95.139:7009  30.16.95.139:7000 30.16.95.139:7001 30.16.95.139:7002 30.16.95.139:7003 30.16.95.139:7004 30.16.95.139:7005 30.16.95.139:7006 30.16.95.139:7007 30.16.95.139:7008 30.16.95.139:7009

            7.维护Redis集群

            7.1修改配置

            由于两台主机的实例是主从配置,我们可以关闭一台主机的所有实例,修改完配置后再启动实例。

            关闭实例:

              1. for i in {7000..7009};do /data0/soft/redis-4.0.2/src/redis-cli -h 30.16.95.138 -p $i shutdown;done;

              启动(略)

              当然,我们也可以直接动态修改redis参数,如设置最大可用内存:

              注:如果设置密码了,就需要加-a 密码认证参数

              1. for i in {7000..7009};do /data0/soft/redis-4.0.2/src/redis-cli -h 30.16.95.138 -p $i -a password config set maxmemory 6442450944;done;

              7.2常用命令

              除了启动关闭之外,还有些命令会用到:

                1. #查看集群状态
                2. redis-cli –c –p 7000 -h 30.16.95.138 cluster info/nodes
                3. #查看tps
                4. redis-cli –c –p 7000 -h 30.16.95.138 -stat
                5. #集群操作命令,增删检查
                6. redis-trib.rb check/fix/add-node/del-node 30.16.95.138:7000
                7. #删除指定key,其他操作类推
                8. for i in {7000..7009};do redis-cli -h 30.16.95.139 -p $i -a password keys "DMPKEY*" |xargs -t -i redis-cli -h 30.16.95.139 -p $i -a password DEL {};done;