zoukankan      html  css  js  c++  java
  • redis集群添加删除节点

    Redis3.0集群添加节点

    1:首先把需要添加的节点启动

    cd /usr/local/cluster/

    mkdir 7006

    cp /usr/local/cluster/redis.conf  /usr/local/cluster/7006/

    cd /usr/local/cluster/7006/

    vi redis.conf

    ##修改redis.conf中的port参数的值为7006

    redis-server redis.conf

    2:执行以下命令,将这个新节点添加到集群中

    cd /usr/local/redis3.0/src/

    ./redis-trib.rb add-node 192.168.1.160:7006 192.168.1.160:7000

    3:执行命令redis-cli -c -p 7000 cluster nodes,查看刚才新增的节点

    4:增加了新的节点之后,这个新的节点可以成为主节点或者是从节点

     4.1 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面,    这个新节点就成为真正的主节点了。

    执行下面的命令对集群中的哈希槽进行移动

    cd /usr/local/redis3.0/src

    ./redis-trib.rb reshard 192.168.1.160:7000

    系统会提示我们要移动多少哈希槽,这里移动1000个

    然后还需要指定把这些哈希槽转移到哪个节点上,

    输入我们刚才新增的节点的ID

    f32dc088c881a6b930474fc5b52832ba2ff71899

    然后需要我们指定转移哪几个几点的哈希槽

     

    输入all 表示从所有的主节点中随机转移,凑够1000个哈希槽

    然后再输入yes,redis集群就开始分配哈希槽了。

    至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态

    redis-cli -c -p 7000 cluster nodes

    4.2:把这个节点变成从节点

    前面我们已经把这个新节点添加到集群中了,现在我们要让新节点成为192.168.1.160:7001的从节点,只需要执行下面的命令就可以了,命令后面的节点ID就是192.168.1.160:7001的节点ID

    redis-cli -c -p 7006 cluster replicate 0b00721a509444db793d28448d8f02168b94bd38

    使用下面命令来确认一下192.168.1.160:7006是否已经成为192.168.1.160:7001的从节点

    redis-cli -p 7000 cluster nodes | grep slave | grep 0b00721a509444db793d28448d8f02168b94bd38

    看到下面图片中的情况就表示添加成功

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Redis3.0集群删除节点

    1:如果删除的节点是主节点,这里我们删除192.168.1.160:7006节点,这个节点有1000个哈希槽

    首先要把节点中的哈希槽转移到其他节点中,执行下面的命令

    cd /usr/local/redis3.0/src

    ./redis-trib.rb reshard 192.168.1.160:7000

    系统会提示我们要移动多少哈希槽,这里移动1000个,因为192.168.1.160:7006节点有1000个哈希槽

    然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用192.168.1.160:7001的节点ID

    然后要我们选择从那些节点中转出哈希槽,这里一定要输入192.168.1.160:7006这个节点的ID,最后输入 done  表示输入完毕

    最后一步,使用下面的命令把这个节点删除

    cd /usr/local/redis3.0/src/

    ./redis-trib.rb del-node 192.168.1.160:7000  需要删除的节点ID

    2:如果节点是从节点的,直接使用下面的命令删除即可。

    cd /usr/local/redis3.0/src/

    ./redis-trib.rb del-node 192.168.1.160:7000 需要删除的节点ID

  • 相关阅读:
    oracle按用户导出导入表
    一次简单的springboot+dubbo+flume+kafka+storm+redis系统
    数据库索引学习
    springboot-quartz 实现动态添加,修改,删除,暂停,恢复等功能
    springboot + rabbitmq 整合示例
    springboot-quartz普通任务与可传参任务
    eclipse里maven项目An error occurred while filtering resources解决办法
    job调度时间格式
    多线程发送短信和微信公众号推送消息
    SerializeUtil 序列化,反序列化工具类
  • 原文地址:https://www.cnblogs.com/huxinga/p/6637253.html
Copyright © 2011-2022 走看看