欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

程序员文章站 2022-03-26 14:54:30
作者:z小赵★一枚用心坚持写原创的“无趣”程序猿,在自身受益的同时也让朋友们在技术上有所提升。前言上篇文章我们介绍了 Redis 集群的工作原理机制,本文我们就来手动搭建一个 Re......

 Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选! 

作者:z小赵

★ 

一枚用心坚持写原创的“无趣”程序猿,在自身受益的同时也让朋友们在技术上有所提升。

前言

上篇文章我们介绍了 Redis 集群的工作原理机制,本文我们就来手动搭建一个 Redis 集群玩玩。强烈建议大家在开始本篇文章之前先看看上篇文章的介绍,这样对集群的安装会更加清楚一些。Redis 集群工作原理

环境及版本说明

  • 环境:MacOS 10.14.6

  • Redis 版本:Redis-4.0.10

最终目标

  • 集群最终会有 6 个节点,3 主 3 从

  • 7000 - 7002 三个节点为主节点

  • 7003 - 7003 三个节点为从节点

  • 7000 对应的从节点为 7003,7001 对应的从节点为 7004, 7002 对应的从节点为 7005。

集群搭建及验证

  1. 创建一个目录,并在该目录下创建 6 个子文件夹,用于存放集群文件。

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!
  1. 修改减压好的 Redis 的 redis.conf 文件

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!
  1. copy Redis 减压好的目录到 6 个节点下,并在每个节点下修改端口号,然后启动,以节点 1 为例

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

6 个节点正常启动后,应该可以看到如下图所示效果。Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

到此,我们要组建集群的 6 个节点已经全部完成启动,接下来我们要做三件事,第一件事就是把这些节点全部连接起来(为什么要将节点连接起来及建连发生的事情,参看上篇文章:Redis 集群工作原理),第二件事情是将 16384 个槽分配给其中三个主节点,第三件事就是把其中一部分节点的身份改成从节点身份(因为默认启动起来的节点的身份都是主节点)


  1. 将启动的各个节点进行连接操作,我们这里在节点 1 上操作

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!
  1. 分配槽,我们这里选择端口为 7000、7001、7002 的节点作为主节点,7003、7004、7005 为丛节点

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

注意: 这里不能通过 redis-cli 登录上去执行,否则会报如下错误:Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

槽分配完成以后,正常情况下我们可以看到如下图所示的信息,从信息中我们可以看出 cluster_state:ok,该信息表示 Redis 集群现在已经可以正常工作了。

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

我们在来看看刚刚槽分配的情况,执行一下命令查看,通过截图可以看出,16384 个槽按照预期被分配到了 7001、7002、7003 端口对应的节点上了。

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!
  1. 到此,整个集群的主节点已经全部配置好了,并且集群的工作状态也是 ok 的,接下来将 7003、7004、7005 三个端口对应的节点的身份变成从节点。我们将 7003 节点作为 7000 节点的从节点,7004 节点作为 7001 节点的从节点,7005 节点作为 7002 节点的从节点。执行如下命令:

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

执行完以上节点命令后,我们在来看看当前集群的状态,如下图所示:

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

此时我们可以看到,如预期所示,7000 - 7002 三个节点的身份为主节点,7003 - 7005 三个节点的身份为从节点。

到此我们的集群搭建也就基本问完成了,简单吧,下面我们来看看上篇文章提到的转向到底是怎么回事。

执行如下命令,出现Moved错误,我们也可以在以执行src/redic-cli -h 127.0.0.1 -p 7000 -c 登录,这时候会直接重定向到目标节点执行。

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

总结

到此,我们通过实践的方式验证了我们上篇文章得出的结论,后续文章我们也尽量以这种方式来进行论证。

好了本篇文章到这里基本上又要说拜拜了,朋友们在自己搭建集群的过程中遇到任何问题,都可以通过下面二维码联系到我。我们下篇文章再见,拜拜。

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

系统研发工程师、z小赵
高并发设计 | 大数据 | 架构设计

往期推荐

Redis系列(三):缓存过期该如何剔除?RDB和AOF又是什么?

Redis系列(二): 连集合底层实现原理都不知道,你敢说Redis用的很溜? 

Kafka:你必须要知道集群内部工作原理的一些事!

消息是如何在服务端存储与读取的,你真的知道吗? 

一文读懂消费者背后的那点"猫腻"

感谢您的【点赞】【转发】支持Redis系列(五):你要的 Redis 集群搭建来了,实践与否你自己选!

本文地址:https://blog.csdn.net/ShiLuoHeroKing/article/details/107133306