• redis cluster群集


    1、源码安装
    预先安装make、gcc
    sudo apt install make gcc
    wget http://download.redis.io/releases/redis-5.0.5.tar.gz
    cd src
    make MALLOC=libc
    make test
    sudo make install

    如果需要使用make test(可能需要安装tcl8.5或更高版本)
    You need tcl 8.5 or newer in order to run the Redis test
    http://www.tcl.tk/doc/howto/compile.html#unix
    https://sourceforge.net/projects/tcl/files/Tcl/

    2、配置
    复制源码中redis.conf到/etc/redis/7000.conf 7001.conf ... 7005.conf

    检查以下配置参数:
    port 7000
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 5000
    appendonly yes

    3、创建群集
    检16384个槽(从0开始)
    redis5可以使用redis-cli,redis4和3可以使用redis-trib.rb(https://redis.io/topics/cluster-tutorial)
    redis-cli --cluster create 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 --cluster-replicas 1

    查看群集节点
    redis-cli -p 7000 cluster nodes
    redis-cli -p 7000 cluster nodes | grep myself

    重新分片
    redis-cli --cluster reshard 127.0.0.1:7000

    redis-cli --cluster reshard <host>:<port> --cluster-from <node-id> --cluster-to <node-id> --cluster-slots <number of slots> --cluster-yes
    redis-cli --cluster reshard 127.0.0.1:7000 --cluster-from all --cluster-to 5c44213202ad32ef8d26ae5bd6e0622db8465fd4 --cluster-slots 1000 --cluster-yes

    群集健康检查
    redis-cli --cluster check 127.0.0.1:7000

    4、连接群集测试:
    $ redis-cli -c -p 7000
    -c 群集模式
    >set foo bar
    >set hello world
    >get foo
    >get hello

    5、手动故障转移
    主节点需要更换机器,可以把主切换成从

    5.1)使用命令查看节点主从状态
    redis-cli -p 7000 cluster nodes
    7000(主) 7004(从)
    7001(主) 7005(从)
    7002(主) 7003(从)

    5.2)在从节点7004上执行
    redis-cli -p 7000 cluster failover

    再查看节点状态,7000变成从,7004变成主

    6、添加、删除节点
    6.1)添加主节点,新加的主节点是空主节点上边未分槽,需要重新分槽才能做为正式主节点
    redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000
    127.0.0.1:7006 新加入节点
    127.0.0.1:7000 现有群集任意一个节点
    添加从节点时需要 指定 --cluster-slave --cluster-master-id 主节点ID
    如果没有--cluster-master-id 主节点ID则加到最少从节点的主节点下
    redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7000 --cluster-slave --cluster-master-id 2a78f8eb08fad0365cc2f58fbf23929e85c74ff5

    6.2)查看节点信息,可以看到7006已加入,是主节点
    redis-cli -p 7000 cluster nodes

    6.3)添加主节点需要重新分片
    redis-cli --cluster reshard 127.0.0.1:7000

    6.4)删除节点
    可以直接删除从节点或空的主节点,可以把主节点切换成从节点再删除,或把主节点上槽重新分片到其它主节点上
    redis-cli --cluster del-node 127.0.0.1:7000 节点ID
    127.0.0.1:7000 现有群集任意一个节点
    节点ID 要删除的节点ID

  • 相关阅读:
    决策树
    Linux登录指令-ssh
    CentOS下搭建Hive
    server 2008 ftp 环境重点说明
    搭建ftp环境
    supesite 连 discuz 论坛记录
    安装ucenter 步骤详解及supesite 安装详解
    最近打算 学点东西,不能 再这样下去了
    今天知道了一个 反向代理,是apache 的一个功能,这里记录一下
    最近 弄了一个 discuz 7.2,管理员发帖 会出现 很多错误,解决 办法 在别的帖子中找到了
  • 原文地址:https://www.cnblogs.com/xiaomacs/p/11697233.html
Copyright © 2020-2023  润新知