广告
返回顶部
首页 > 资讯 > 数据库 >Redis集群如何增加节点与删除节点
  • 570
分享到

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

2024-04-02 19:04:59 570人浏览 独家记忆
摘要

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

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

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

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

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

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

  cluster nodes 查看集群节点信息

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

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

一、集群的扩容

  1.准备新的节点

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

    mkdir redis7006

    mkdir redis7007

    增加完成后的目录

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

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

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

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

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

redis-server redis7006/redis.conf

redis-server redis7007/redis.conf

ps -ef | grep redis //查看新的redis节点是否启动成功

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

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

redis-cli -p 7006 -h 192.168.182.132 -c

cluster nodes

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

  2.添加主节点

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

 cd /usr/local/redis/redis/src

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

  添加成功:

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

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

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

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

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

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

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

cd /usr/local/redis/redis/src

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

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

执行后:

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

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

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

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

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

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

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

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

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

redis-cli -p 7000 -h 192.168.182.132 -c

cluster nodes

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

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

  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
 //第一次节点为新增的节点 第二个节点为集群中的节点

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

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

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

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

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

redis-cli -p 7007 -h 192.168.182.132

cluster replicate 52d169e7011ccdf10f99c1d83f92409dcc37ab55 //后面的字符串为节点7006的节点ID

  设置成功后查看一下:

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

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

二、集群的缩容

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

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

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

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

  1.删除从节点

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

cd /usr/local/redis/redis/src

./redis-trib.rb del-node 192.168.182.132:7007 7007节点ID

  删除成功后:

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

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

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

  2.删除主节点

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

  cd /usr/local/redis/redis/src

  ./redis-trib.rb reshard 192.168.182.132:7006

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

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

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

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

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

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

    节点7006上没有任何槽。

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

cd /usr/local/redis/redis/src

./redis-trib.rb del-node 192.168.182.132:7006 52d169e7011ccdf10f99c1d83f92409dcc37ab55

  删除成功:

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

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

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

您可能感兴趣的文档:

--结束END--

本文标题: Redis集群如何增加节点与删除节点

本文链接: https://www.lsjlt.com/news/57449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Redis集群如何增加节点与删除节点
    这篇文章将为大家详细讲解有关Redis集群如何增加节点与删除节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  查看集群启动情况:ps -ef | grep redis...
    99+
    2022-10-18
  • oracle12cR2如何增加节点删除节点挽救集群
    这篇文章主要介绍了oracle12cR2如何增加节点删除节点挽救集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库版本:[oracle...
    99+
    2022-10-18
  • redis如何删除集群节点
    redis删除集群节点的方法:可以通过del-node命令进行删除从节点即可,例如:cd /usr/local/redis/redis/src./redis-trib.rb del-node 192.168.0.1:8006 //8006节...
    99+
    2022-10-23
  • 如何删除redis集群的节点
    删除redis集群节点的方法:可以通过del-node命令进行删除从节点即可,例如:cd /usr/local/redis/redis/src./redis-trib.rb del-node 192.168.182.132:7007 //7...
    99+
    2022-10-11
  • Redis集群新增、删除节点以及动态增加内存的方法
    目录一、新增服务节点到集群中1、创建配置文件2、启动新的端口3、将新增的两个端口增加到现有集群中4、设置从节点5、设置主节点master二、删除节点1、删除从节点2、删除主节点三、动...
    99+
    2022-11-12
  • k8s集群删除和添加node节点
      在已有k8s云平台中误删除node节点,然后将误删除的节点添加进集群中。如果是一台新服务器必须还要安装docker和k8s基础组件。查看节点数和删除node节点(master节点)[root@k8s01 ~]# kubectl...
    99+
    2023-06-04
  • Redis集群中删除/修改节点(master、slave)(实验)
    删除一个slave节点:    # redis-trib.rb del-node 192.168.2.202:6380 e4dc23dc67418bf66c6c63655110612cb9516aff   ...
    99+
    2022-10-18
  • redis cluster集群动态伸缩--删除主从节点
    目标:从集群中剔除一组主从(5007,5008) 经过上一节增加5007,5008主从服务节点后,目前集群的情况是这样的: b3363a81c3c59d57143cd3323481259c044e66d...
    99+
    2022-10-18
  • Redis集群水平扩展、集群中添加以及删除节点的操作
    在Redis集群搭建中,我们搭建了下图所示的Redis集群,接下来我们就来看看如何为我们的Redis集群进行水平扩容。 [root@localhost redis-5.0.3]...
    99+
    2022-11-11
  • 如何增加redis的节点
    增加redis节点的示例:通过add-node命令进行增加即可:cd /usr/local/redis/redis/src //进入redis目录./src/redis-cli --cluster add-node 172.26.237.8...
    99+
    2022-10-09
  • Redis集群重新分片(新增/移除节点)【理论】
    redis集群重新分片原理:(增加或移除节点)           以增加节点为例:        我们只需要将已经分配给节点的哈希槽(hash slot),重新分配即可。        注:hash sl...
    99+
    2022-10-18
  • redis5集群扩容-增加主从节点
    回顾上节redis cluster集群入门已经搭建完成的集群节点 b3363a81c3c59d57143cd3323481259c044e66d2 192.168.8.196:5006@15006 slav...
    99+
    2022-10-18
  • Redis集群中新增节点(master、slave)(实验)
    新增master节点的配置文件:    # vim /usr/local/redis-3.0.6-6379/redis.conf        daemonize yes                  ...
    99+
    2022-10-18
  • mongodb副本集如何添加删除节点
    这期内容当中小编将会给大家带来有关mongodb副本集如何添加删除节点,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。环境介绍:三个节点的mongodb 副本集10.9.2...
    99+
    2022-10-18
  • 如何查看redis节点和集群
    查看redis节点和集群的方法:打开终端输入以下命令查看集群。./redis-cli -h 192.168.203.141 -p 8001 -c //查看192.168.203.141的集群再输入以下命令查看各个节点。cluster nod...
    99+
    2022-10-14
  • oracle11g_RAC如何添加删除节点
    这篇文章主要介绍了oracle11g_RAC如何添加删除节点,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。删除节点删除节点1实例在节点2以oracle运行dbca,根据向导删...
    99+
    2023-06-06
  • Oracle添加和删除集群节点的方法是什么
    这篇文章主要介绍“Oracle添加和删除集群节点的方法是什么”,在日常操作中,相信很多人在Oracle添加和删除集群节点的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-18
  • greenplum集群安装与增加节点生产环境实战
    greenplum集群安装与增加节点生产环境实战1.准备环境1.1集群介绍系统环境:centos6.5数据库版本:greenplum-db-4.3.3.1-build-1-RHEL5-x86_64.zipg...
    99+
    2022-10-18
  • redis集群如何判断主节点宕机
    redis集群判断主节点宕机的解析:集群中每一个节点都有这个集群所有主节点以及从节点的信息,可以通过互相的ping-pong来判断节点是否可以连接上,若是有一半以上的节点去ping一个节点都没有反应的时候,集群就会判定这个节点宕机,然后进行...
    99+
    2022-10-24
  • JavaScript中dom如何添加、删除节点
    这篇文章将为大家详细讲解有关JavaScript中dom如何添加、删除节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语言,...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作