• Redis 集群搭建


    1.环境:

    centos6.7、redis-6.2.6

    2.模式:

    5主+20丛+5备丛(即:1主-4从-1备丛)

    3.服务器环境检查及安装

    查看服务器是否安装了gcc

    rpm -q gcc

    若没有安装,则进行gcc安装

    yum install -y gcc

    4.redis下载

    前往redis官网下载https://redis.io/download

    redis-6.2.6.tar.gz

    5.将redis-6.2.6.tar.gz上传至服务器/soft文件夹(可其他文件夹)

    6.解压redis-6.2.6.tar.gz

    tar -zxvf redis-6.2.6.tar.gz

    7.安装

    cd /soft/redis-6.2.6
    make
    make PREFIX=/usr/local/redis install

    8.创建主从文件夹

    mkdir -p /soft/redis/redis-cluster/8001 /soft/redis/redis-cluster/8002 /soft/redis/redis-cluster/8003  /soft/redis/redis-cluster/8004 /soft/redis/redis-cluster/8005

    9.将默认配置复制到8001

    cp /soft/redis-6.2.6/redis.conf /soft/redis/redis-cluster/8001

    10.修改配置参数

    port 8001
    daemonize yes
    pidfile "/var/run/redis_8001.pid"
     
    #指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
    dir /soft/redis/redis-cluster/8001/
     
    #启动集群模式
    cluster-enabled yes
     
    #集群节点信息文件,这里800x最好和port对应上
    cluster-config-file nodes-8001.conf
     
    # 节点离线的超时时间
    cluster-node-timeout 5000
     
    #去掉bind绑定访问ip信息
    #bind 127.0.0.1
     
    #关闭保护模式
    protected-mode no
     
    #启动AOF文件
    appendonly yes
     
    #如果要设置密码需要增加如下配置:
    #设置redis访问密码
    requirepass redis-pw
     
    #设置集群节点间访问密码,跟上面一致
    masterauth redis-pw

    11.将8001的配置文件复制到8002(8003、8004、8005同理)

    cp /soft/redis/redis-cluster/8001/redis.conf /soft/redis/redis-cluster/8002

    12.批量修改8002配置文件(8003、8004、8005同理)

    cd /soft/redis/redis-cluster/8002/
    vim redis.conf
    :%s/8001/8002/g

    13.启动redis服务

    /soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8001/redis.conf
    /soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8002/redis.conf
    /soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8003/redis.conf
    /soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8004/redis.conf
    /soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8005/redis.conf

    redis可多进程启动

    14.其他服务器均按照上述步骤进行安装、配置、启动服务

    15.集群配置开启:

    集群的配置开启有两种方式:

    15-1.自动分配主从关系(较简单):

    /soft/redis-6.2.6/src/redis-cli -a redis-pw --cluster create --cluster-replicas 5 **.**.**.33:8001 **.**.**.33:8002 **.**.**.33:8003 **.**.**.33:8004 **.**.**.33:8005 **.**.**.34:8001 **.**.**.34:8002 **.**.**.34:8003 **.**.**.34:8004 **.**.**.34:8005 **.**.**.36:8001 **.**.**.36:8002 **.**.**.36:8003 **.**.**.36:8004 **.**.**.36:8005 **.**.**.37:8001 **.**.**.37:8002 **.**.**.37:8003 **.**.**.37:8004 **.**.**.37:8005 **.**.**.38:8001 **.**.**.38:8002 **.**.**.38:8003 **.**.**.38:8004 **.**.**.38:8005 **.**.**.39:8001 **.**.**.39:8002 **.**.**.39:8003 **.**.**.39:8004 **.**.**.39:8005

    -a :密码

    --cluster-replicas 1:表示1个master下挂1个slave; --cluster-replicas 2:表示1个master下挂2个slave

    这种模式下,主从关系为自动分配

    不能充分发挥多台服务器高可用的性能

    15-2.手动分配主从关系

    创建5个主分支

    /soft/redis-6.2.6/src/redis-cli -a redis-pw --cluster create **.**.**.33:8001 **.**.**.34:8001 **.**.**.36:8001 **.**.**.37:8001 **.**.**.38:8001 --cluster-replicas 0

    手动将每个丛分支加到制定的主分支下

    /soft/redis-6.2.6/src/redis-cli -a redis-pw --cluster add-node **.**.**.33:8002 **.**.**.33:8001 --cluster-slave --cluster-master-id 0f22951a5acfab105eba1a8c52296fa5b256cbb4

    add-node:丛分支

    --cluster-master-id:对应主分支的master-id

    16.验证集群

    连接集群

    /soft/redis-6.2.6/src/redis-cli -a redis-pw -c -h **.**.**.33 -p 8001

    查看集群信息

    cluster info

    cluster_slots_ok:槽位

    cluster_size:数量

    查看集群节点信息

    cluster nodes

    master即为主节点

    slave即为丛节点,后面接的是主节点master-id

    17.关闭集群

    将所有服务下的所有redis进程关闭

    • 可以通过shutdown
    /soft/redis-6.2.6/src/redis-cli -a redis-pw -c -h **.**.**.33 -p 8001 shutdown
    • 可以直接杀掉相关进程
    ps -ef | grep redis
     
    pkill -9 redis

    18.重新配置集群

    关闭所有集群后,删除各文件夹下的文件(redis.conf除外)

    按照集群启动步骤重新启动即可

    19.集群测试

    可以针对性停止相关节点进程

    或者直接重启某些服务器

    通过集群节点命令,查看主从是否自动进行切换

    20.集群性能测试

    /soft/redis-6.2.6/src/redis-benchmark -a redis-pw -h **.**.**.33 -p 8001 -c 100 -n 100000 --cluster -q
  • 相关阅读:
    NOIP前咕咕 : BZOJ3172: [Tjoi2013]单词
    BZOJ4350: 括号序列再战猪猪侠【区间DP】
    Codeforces 983B. XOR-pyramid【区间DP】
    POJ1651 Multiplication Puzzle【区间DP】
    LOJ10131. 「一本通 4.4 例 2」暗的连锁【树上差分】
    UOJ22. 【UR #1】外星人【DP】【思维】
    BZOJ5125: [Lydsy1712月赛]小Q的书架【决策单调性优化DP】【BIT】【莫队】【分治】
    Codeforces 868F. Yet Another Minimization Problem【决策单调性优化DP】【分治】【莫队】
    BZOJ1835: [ZJOI2010]base 基站选址【线段树优化DP】
    Codeforces 165 E. Compatible Numbers【子集前缀和】
  • 原文地址:https://www.cnblogs.com/zktww/p/16326556.html
Copyright © 2020-2023  润新知