Redis安装(单机及各类集群,阿里云) (7)

在这里插入图片描述

PS:删除节点时,该实例不仅从当前集群移除,并且会被shutdown。

增加节点

首先,启动对应节点。这里不再赘述。

其次,通过以下指令,实现节点添加:

/developer/redis-5.0.3/src/redis-cli --cluster add-node 172.26.40.226:6379 172.26.40.223:6379

PS:上面两个连接信息,前者表示需要添加的新节点信息,后者表示集群中存在的节点信息(表示由该节点执行节点添加操作)。

PS:如果添加的节点是之前存在过集群中的节点,则会出现以下报错:

在这里插入图片描述

这个时候,根据报错信息,删除redis配置相关信息即可。即删除之前配置的 /developer/redis/data/目录下的三个文件:

在这里插入图片描述


在这里插入图片描述

然后启动目标实例(如果已经启动,请重启),即可成功运行,看到以下画面:

在这里插入图片描述

另外,资料中也有提到,可能在某些情况下,还需要进行db清除操作(但是我这里并不需要)。

增加从节点

可以明显看出,上述的节点添加后,该节点直接成为了master节点。而我们往往需要添加从节点。

通过以下命令,我们可以为集群添加从节点:

/developer/redis-5.0.3/src/redis-cli --cluster add-node 172.26.40.226:6379 172.26.40.223:6379 --cluster-slave

运行后,可以看到如下画面:

在这里插入图片描述

紧接着,校验一下:

在这里插入图片描述

这里默认是将新增从节点,分配给从节点数最少的主节点。

如果希望将新增从节点分配给指定的主节点,则需要以下指令:

/developer/redis-5.0.3/src/redis-cli --cluster add-node 172.26.40.226:6379 172.26.40.223:6379 --cluster-slave --cluster-master-id <master-id>

具体执行其实都是类似的,这里不再赘述。

补充

虽然分片集群有16384个槽点,理论可以支撑16384个Redis主实例,但是官方推荐是最多1000个实例(毕竟集群间通信等,还是存在瓶颈的)

redis集群的每个节点使用TCP连接有其它每个节点连接(这也算解释了前面一条)

数据倾斜与访问倾斜问题,需要通过调整key的策略,以及slot迁移实现。

这里剽窃一下网易云给出的迁移流程:

在迁移目的节点执行cluster setslot IMPORTING 命令,指明需要迁移的slot和迁移源节点。

在迁移源节点执行cluster setslot MIGRATING 命令,指明需要迁移的slot和迁移目的节点。

在迁移源节点执行cluster getkeysinslot获取该slot的key列表。

在迁移源节点执行对每个key执行migrate命令,该命令会同步把该key迁移到目的节点。

在迁移源节点反复执行cluster getkeysinslot命令,直到该slot的列表为空。

在迁移源节点和目的节点执行cluster setslot NODE ,完成迁移操作。

总结

至此,Redis相关的各类安装操作,以及一些安装问题就全部说完了。

有什么问题,或者需要补充的,可以私信或@我。

觉得不错的话,可以帮忙点个推荐,以及分享给自己的小伙伴。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyywxf.html