七叶笔记 » 数据库 » Redis集群新增、删除节点以及动态增加内存的方法

Redis集群新增、删除节点以及动态增加内存的方法

一、新增服务节点到集群中

1、创建配置文件

在主机127.0.0.5上创建新端口的配置文件,如之前有端口直接复制之前的配置文件即可。复制完然后修改下配置文件里的端口、内存大小、pid的路径等。

2、启动新的端口

 

该操作在127.0.0.6上同样再操作一次。

3、将新增的两个端口增加到现有集群中

21430f4be50444f20854193613fe1f4346fae577 127.0.0.3:7002@17002 slave 2ef3474dcb875522cd1b03465506065de2ada8e7 0 1630463304000 18 connected b7e55a3d3eda2777c077c606c090bcfaf6b674fd 127.0.0.1:7002@17002 master - 0 1630463306333 17 connected 0-99 200-399 600-699 800-899 5461-10922 2ef3474dcb875522cd1b03465506065de2ada8e7 127.0.0.2:7002@17002 master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383 4d0c6a957452191e755c1bb0856307c9da838f79 127.0.0.1:7002@17002 slave b7e55a3d3eda2777c077c606c090bcfaf6b674fd 0 1630463307336 10 connected 1f42f45cd136239d95fc15bda9938821c33138cc 127.0.0.5:7002@17002 master  connected 0 3bc21c09f3318342600205b1b5e6ea129e3608f3 127.0.0.6:6002@17002 myself,master - connected 0

使用命令 cluster nodes 查看集群状态,发现两个节点默认均为master。这是还没有对节点进行分配的原因。

4、设置从节点

我们设置 127.0.0.6:7002 为从节点,登录该节点

指定5008从节点的主节点ID,这里我们填写127.0.0.5:6002的服务节点ID,节点ID为上面查出来第一列的值

查看当前集群节点信息 cluster nodes

21430f4be50444f20854193613fe1f4346fae577 127.0.0.3:7002@17002 slave 2ef3474dcb875522cd1b03465506065de2ada8e7 0 1630463304000 18 connected b7e55a3d3eda2777c077c606c090bcfaf6b674fd 127.0.0.1:7002@17002 master - 0 1630463306333 17 connected 0-99 200-399 600-699 800-899 5461-10922 2ef3474dcb875522cd1b03465506065de2ada8e7 127.0.0.2:7002@17002 master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383 4d0c6a957452191e755c1bb0856307c9da838f79 127.0.0.1:7002@17002 slave b7e55a3d3eda2777c077c606c090bcfaf6b674fd 0 1630463307336 10 connected 1f42f45cd136239d95fc15bda9938821c33138cc 127.0.0.5:7002@17002 master 0 connected 0 3bc21c09f3318342600205b1b5e6ea129e3608f3 127.0.0.6:6002@17002 myself,slave 1f42f45cd136239d95fc15bda9938821c33138cc  0 1630463307336 0 connected

5、设置主节点master

因为新增节点时并未分配卡槽,需要我们手动对集群进行重新分片迁移数据,需要重新分片命令 reshard

执行之后会出现下面几个选项

重新分片结束后我们可以check以下节点的分配情况。

至此主节点就添加完毕了

二、删除节点

1、删除从节点

先登录 127.0.0.5:7002 节点,使用 cluster nodes 查看集群节点信息。

21430f4be50444f20854193613fe1f4346fae577 127.0.0.3:7002@17002 slave 2ef3474dcb875522cd1b03465506065de2ada8e7 0 1630463304000 18 connected b7e55a3d3eda2777c077c606c090bcfaf6b674fd 127.0.0.1:7002@17002 master - 0 1630463306333 17 connected 0-99 200-399 600-699 800-899 5461-10922 2ef3474dcb875522cd1b03465506065de2ada8e7 127.0.0.2:7002@17002 master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383 4d0c6a957452191e755c1bb0856307c9da838f79 127.0.0.1:7002@17002 slave b7e55a3d3eda2777c077c606c090bcfaf6b674fd 0 1630463307336 10 connected 1f42f45cd136239d95fc15bda9938821c33138cc 127.0.0.5:7002@17002 myself,master - 0 1630463305000 18 connected 100-199 400-599 700-799 900-999 10923-16383 3bc21c09f3318342600205b1b5e6ea129e3608f3 127.0.0.6:6002@17002 slave 1f42f45cd136239d95fc15bda9938821c33138cc  0 1630463307336 0 connected

将127.0.0.6:7002的节点ID记录下来(3bc21c09f3318342600205b1b5e6ea129e3608f3)

执行下面命令

出现以上信息代表删除成功。

2、删除主节点

因为主节点分配了 slot槽, 所以这里我们必须先把 7002的slot槽放到其他的可用节点中去,然后再进行移除节点操作才行,不然会出现数据丢失问题。

(1)先把数据迁移到其他主节点中。

可以看到127.0.0.5:7002中有4461个slot槽,如果想要平均分配,就需要根据现有多少master主节点进行平均,然后重复执行以上命令。我下面操作是直接将所有slot槽分配到一个节点上。

执行完成之后,输入 cluster nodes 查看节点信息 可以看到 7002 已经没有槽分配了 接下来就可以按照删除从节点的方法删除主节点了。

再次查看集群信息,发现主节点也删掉了。

三、动态扩容内存

在业务运行时,redis内存不够了怎么办,无非两种办法,要么删除无用的key,要么就是增加节点内存,当删除key之后还是无法满足需求,就只能增加内存。redis提供了不停服务增加内存的命令 CONFIG SET parameter value 1、CONFIG SET 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启。 2、你可以使用它修改配置参数,或者改变 Redis 的持久化(Persistence)方式。 3、CONFIG SET 可以修改的配置参数可以使用命令 CONFIG GET * 来列出,所有被 CONFIG SET 修改的配置参数都会立即生效。

1、动态将7002端口内存从5G提升至10G

1、先获取当前最大内存

2、设置新的最大内存

3、查看修改后的值

附:可以动态设置的值

 到此这篇关于Redis集群新增、删除节点以及动态增加内存的方法的文章就介绍到这了,更多相关Redis集群新增删除节点及动态增加内存内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章