千家信息网

Redis集群如何增加节点与删除节点

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Redis集群如何增加节点与删除节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。查看集群启动情况:ps -ef | grep redi
千家信息网最后更新 2026年11月01日Redis集群如何增加节点与删除节点

这篇文章将为大家详细讲解有关Redis集群如何增加节点与删除节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  查看集群启动情况:ps -ef | grep redis

查看集群的slots分配情况以及节点之间的主从关系:

  首先登陆节点7000:redis-cli -p 7000 -h 192.168.182.132 -c //注意不要丢了-c

  cluster nodes 查看集群节点信息

  在本例中我们先增加两个节点:主节点7006和从节点7007,并给7006分配4096个slots,设置7007为7006的从节点,然后再将这两个节点从集群中删除,一定要先删除主节点,再删除从节点,要不然故障转移会生效。

一、集群的扩容

  1.准备新的节点

    在集群目录redis_cluster目录下增加redis7006和redis7007目录

    mkdir redis7006

    mkdir redis7007

    增加完成后的目录

   复制端口7000的redis.conf配置文件到redis7006和redis7007目录下,并修改配置文件中的端口为对应目录的端口号。

  例如redis7006下的redis.conf文件的内容为:

port 7006bind 192.168.182.132 //本机IPdaemonize yes //设置为后台运行pidfile /var/run/redis-7006.pidcluster-enabled yes //开启集群cluster-config-file node-7006.confcluster-node-timeout 15000appendonly yes

  准备完成后,启动两个新的redis节点:

redis-server redis7006/redis.confredis-server redis7007/redis.confps -ef | grep redis //查看新的redis节点是否启动成功

  启动以后登录7006查看节点情况:

redis-cli -p 7006 -h 192.168.182.132 -ccluster nodes

  2.添加主节点

  (1)向集群中添加节点7006,注意一定要保证节点里面没有添加过任何数据,不然添加会报错。

 cd /usr/local/redis/redis/src./redis-trib.rb add-node 192.168.182.132:7006 192.168.182.132:7000 //第一次节点为新增的节点 第二个节点为集群中的节点

  添加成功:

    可以看到使用addnode命令来添加节点,第一个参数是新节点的地址,第二个参数是任意一个已经存在的节点的IP和端口. 我们可以看到新的节点已经添加到集群中:

  新节点7006现在已经连接上了集群, 成为集群的一份子, 并且可以对客户端的命令请求进行转向了, 但是和其他主节点相比, 新节点还有两点区别:

新节点没有包含任何数据, 因为它没有包含任何哈希槽.尽管新节点没有包含任何哈希槽, 但它仍然是一个主节点, 所以在集群需要将某个从节点升级为新的主节点时, 这个新节点不会被选中。

    接下来, 只要使用 redis-trib 程序, 将集群中的某些哈希桶移动到新节点里面, 新节点就会成为真正的主节点了。

    (2)为主节点7006分配虚拟槽

cd /usr/local/redis/redis/src./redis-trib.rb reshard 192.168.182.132:7001 //可以为任意的节点 在此登录的7001只是作为客户端去访问的

执行后:

  因为我们增加7006为主节点后,一共存在四个主节点,为了平均分配我们需要给7006分配16384除以4等于4096个节点,所以我们输入4096,按enter继续:

  输入7006的节点ID,按enter继续:

  从哪些主节点抽取槽到新节点中:all为所有主节点,done:指定节点,在这里我们输入all,按enter继续:

  输入yes后按enter开始给7006分配虚拟槽,分配完成后:

    登录集群查看一下集群的状态:

redis-cli -p 7000 -h 192.168.182.132 -ccluster nodes

    至此主节点已经添加完毕了,我们的集群由三主三从变成了四主三从。

  3.添加从节点7007

   (1)使用add-node添加新节点

 cd /usr/local/redis/redis/src./redis-trib.rb add-node 192.168.182.132:7007 192.168.182.132:7000 //第一次节点为新增的节点 第二个节点为集群中的节点

  加入集群成功,登录到集群中查看一下集群状态:

  7007还是一个Master节点,而且没有拥有自己的slot槽。那么我们接下来要让它变成从节点。

  (2)将7007变为7006的 从节点

   使用CLUSTER REPLICATE 命令改变一个从节点的主节点。

redis-cli -p 7007 -h 192.168.182.132cluster replicate 52d169e7011ccdf10f99c1d83f92409dcc37ab55 //后面的字符串为节点7006的节点ID

  设置成功后查看一下:

    集群的从节点7007添加成功。

二、集群的缩容

  只要使用del-node命令即可:

./redis-trib del-node 127.0.0.1:7000 第一个参数是任意一个节点的地址,第二个节点是你想要移除的节点地址。

使用同样的方法移除主节点,不过在移除主节点前,需要确保这个主节点是空的. 如果不是空的,需要将这个节点的数据重新分片到其他主节点上.

替代移除主节点的方法是手动执行故障恢复,被移除的主节点会作为一个从节点存在,不过这种情况下不会减少集群节点的数量,也需要重新分片数据.[/code]

  1.删除从节点

   删除节点用del-node命令。此命令需要制定删除节点的ip和端口,以及节点的id。

cd /usr/local/redis/redis/src./redis-trib.rb del-node 192.168.182.132:7007 7007节点ID

  删除成功后:

  删除后我们再次查看集群的节点信息,如下所示,7007从节点已经被移除掉。

  2.删除主节点

  (1)将主节点7006的slots分配到其他主节点上

  cd /usr/local/redis/redis/src  ./redis-trib.rb reshard 192.168.182.132:7006

    选择完这几项以后,回车继续:

    输入yes,表示接受这个计划,然后回车,完成7006节点的槽的移除。

    登录集群查看当前集群情况:

    节点7006上没有任何槽。

  (2)使用del-node命令来删除7006主节点。

cd /usr/local/redis/redis/src./redis-trib.rb del-node 192.168.182.132:7006 52d169e7011ccdf10f99c1d83f92409dcc37ab55

  删除成功:

  最后登录查看集群又恢复到了三主三从的结构了,只是从刚开始的均匀分配变成了7000端口的主节点多了4096个slots。

关于"Redis集群如何增加节点与删除节点"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

节点 集群 分配 成功 命令 目录 登录 情况 端口 输入 数据 两个 参数 地址 文件 篇文章 哈希 接下来 信息 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州百单互联网科技有限公司 合肥互联网科技公司 互联网女皇 腾讯科技 哈尔滨秒房互联网科技有限公司 海南科技产业互联网平台 互联网和高科技公司 现代互联网科技股 重庆互联网医院沙龙医盟信息科技 朱啸虎曾投资哪些互联网科技企业 滨湖区互联网智能科技产品有哪些 科技互联网的核心竞争力 雨阳互联网卡科技有限公司 富国互联网金融科技混合基金 35岁以上互联网科技行业 南京一网一红互联网科技有限公司 珠海东科互联网科技有限公司 云南互联网科技学费 亚光科技低轨卫星互联网 山东蛋芒互联网科技有限公司 银川新华互联网科技学校招聘 南京欣网互联网络科技 互联网科技财经 互联网科技开发公司 云电互联网科技 深圳齐家互联网科技 广州互联网络科技有限公司 齐家互联网科技有限公司 科技伦理 互联网公司 恒银科技与互联网金融 唯美互联网科技
0