redhat6.5 redis单节点多实例3A集群搭建

Posted 星光下的贝加尔湖啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redhat6.5 redis单节点多实例3A集群搭建相关的知识,希望对你有一定的参考价值。

在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建。

单节点单实例搭建可以参看这个网:https://www.cnblogs.com/butterflies/p/9628207.html

完成单节点的redis搭建之后,修改配置文件,开启集群模式,修改配置文件生成的目录,修改位对应的端口,即可完成单节点多实例的redis集群搭建。

 

一:多实例配置文件生成和修改

1 配置文件拷贝

cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/nodes7000.conf

cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/nodes7001.conf

cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/nodes7002.conf

2 配置文件修改

vim /usr/local/redis/etc/nodes7000.conf (其他的配置文件按需修改)

主要修改的有3个地方(前提是单实例已经搭建成功的redis的配置文件,即daemons已经修改位后台运行模式)

修改1:开启集群模式(大约在配置文件的814行左右),需要将配置文件的cluster-enabled yes前面的#去掉,截图如下

修改2:添加修改生成的集群配置文件。本例是以7000的实例为例,nodes-7000.conf的配置文件不需要手动创建,改文件会在配置文件所在的目录自动生成(启动节点后生成的)。

 

修改3:每个实例对应不同的端口,所以需要在配置文件中添加相应的端口。Redis默认的端口是6379,本例中是使用的7000端口,所以需要修改

 

 

3 启动实例,检测是否成功启动

启动时需要指定启动的配置文件,启动后可以使用ps查看进程,使用netstat命令查看对应的端口是否监听。出现如下截图表示正常

 

二:集群节点互通和槽位分配

所以集群节点互通,是指不同节点之间相互通信,让彼此明白对方的存在。方便在后期对数据进行处理。槽位分配是方便节点资源充分利用的手段。Redis一共只有16383个槽位,数据是根据槽位进行存储的。如果各个节点的资源不同,可以考虑个性化分配槽位。

1 节点互通

节点互通之前,需要将所有的节点全部启动起来,成功启动后所有的节点如下图所示:

 截图中可以看出,不同的实例启动在不同的端口,都是以集群的方式启动

1.1 登陆节点,查看集群信息

登陆节点之后,可以使用cluster info查看集群信息,从下面的截图中可以看到,目前集群知道的节点就只有一个,我们需要添加其他两个节点到集群。

1.2 登陆集群,添加节点到集群

登陆集群后可以使用cluster meet IP port来完成节点的添加,添加完成后我们同样使用cluster info来查看集群的信息。另外可以使用cluster nodes来查看集群中所有的节点的信息。如下的截图所示:

上面的截图中IP地址之前的字符串表示的是节点的id,类似于节点的识别号,我们在从集群中删除节点的时候会用到。

 以下截图是集群添加节点的截图

 

2 槽位分配

槽位总共16383个,因为是测试环境,使用的是均分槽位分配。现场可视情况具体分配。

分配的命令如下:

Redis-cli –h IP –p port cluster addslots {xx..xx}

命令执行成功后,会出现ok,如下截图所示。

 

3 检验

通过命令从一个节点上连接到集群,然后随便创建一个键值对,然后在从另一个节点登陆集群,获取健对应的值。操作步骤如下截图

 

单节点多实例的redis集群搭建到此结束。

 

以上是关于redhat6.5 redis单节点多实例3A集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

Redis集群环境搭建

Redis为什么需要集群?

Redis为什么需要集群?

Redis 集群演进探讨和总结

redis5集群搭建

Redis 单节点 ➤ Redis Sentinel 高可用 ➤ Redis Cluster 集群