在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建。
单节点单实例搭建可以参看这个网:
完成单节点的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集群搭建到此结束。
念念不忘,必有回响。