redis-cluster搭建过程
redis-cluster搭建过程
目的
本文章为redis-cluster搭建的step by step教程,具体原理,请见相关文档,在此不再详细讲解。
环境配置
本人在一台window 7上安装虚拟机,虚拟机中安装的是centos系统。
目标
在centos上搭建一个有6个节点的redis-cluster,端口号为 7000-7005
搭建步骤
新建文件夹
mkdir /opt/app/redis_cluster
cd /opt/app/redis_cluster
下载、解压、编译
$ wget http://download.redis.io/releases/redis-3.0.6.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make
创建六个文件夹
[root@localhost redis-cluster]# mkdir 7000 7001 7002 7003 7004 7005
创建并配置redis.conf
分别在7000-7005六个文件夹中创建redis.conf文件,并添加配置,配置内容如下
注意:端口号 port 与所在文件夹名相同;cluster-config-file 地址中的 7000 也必须跟文件夹名相同。
port 7000
cluster-enabled yes
cluster-config-file /opt/app/redis_cluster/7000/nodes.conf
cluster-node-timeout 5000
appendonly yes
依次启动6个实例
启动7000实例
[root@localhost redis_cluster]# redis-3.0.7/src/redis-server 7000/redis.conf &
成功启动之后,如图显示:
启动7001实例
[root@localhost redis_cluster]# redis-3.0.7/src/redis-server 7001/redis.conf &
成功启动之后,如图显示:
依次类推,启动7002-7005实例。
启动完成如图:
将这些节点添加到集群中
连接到 7000 实例上,然后将 7001 - 7005 实例添加到集群中
其中红色框起来的就是为每一个节点负责的插槽(slot),redis-cluster总共有16384个插槽,目前我们创建了6个节点,所以均分得到这些区间段,将这些区间段分到每一个实例上去。
这个配置可以手动写到 7000节点的nodes.conf(nodes.conf文件只会在启动之后由redis创建),写完之后再重启集群中的实例,然后再使用meet将这些节点添加到集群中。
07673576597fd7d6cec9b5b0691571ce71e9098a 127.0.0.1:7003 master - 0 1472194995492 3 connected 8190-10919
1adc79c33fdfe908a41a97e044a4b072b0ba3042 127.0.0.1:7004 master - 0 1472194996298 4 connected 10920-13649
5b7a115c35ccbd266e4fe7071eb7375a53dd3dfd 127.0.0.1:7000 myself,master - 0 0 0 connected 0-2729
2a49fb3dead90778f9e1321654fae123496523d2 127.0.0.1:7002 master - 0 1472194996500 2 connected 5460-8189
10f4e506afa49558fcbd48ef081212ef11a6ad0c 127.0.0.1:7001 master - 0 1472194994987 1 connected 2730-5459
43f330e01fa94756556429bf105a3da21389620e 127.0.0.1:7005 master - 0 1472194996710 5 connected 13650-16383
必须更新7000-7005中所有的node.conf文件,没有更新的节点的状态会处于 【fail】的。