Redis Cluster集群搭建
1.搭建
1. 在/usr/local/redis-5.0.5/目录创建目录cluster,然后在它下面创建7001至7006六个文件夹;
2. 在六个文件夹下新建redis.conf文件,内容如下:
port 7001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
protected-mode no
端口分别是7001、7002、7003、7004、7005、7006
3. 把redis-server 和 redis-cli两个脚本复制到7001到7006的文件夹下;
4. 分别进入六个文件夹,启动6个redis实例:
./redis-server ./redis.conf
5. 使用这6个redis实例来创建集群:(只需要在一台机器上执行即可)
./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
这个命令用于创建一个新的集群, 选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
命令中的其他参数则是这个集群实例的地址列表, 3个master及3个slave, redis-cli会输出一份预想中的配置信息需要确认 如果没问题的话, 则可以输入yes,redis-cli 就会将这份配置应用到集群当中,让各个节点开始互相通讯;
这表示集群中的 16384 个槽都有至少一个主节点在处理,每个主下面有一个备用的从节点,集群运作正常;
2.测试Redis Cluster
测试 Redis 集群比较简单的办法就是使用redis-cli,接下来我们将使用 redis-cli为例来进行测试;
通过redis-cli客户端连接上任意的一个主redis,执行命令:
./redis-cli -c -p 7001
其中-c表示集群模式去连redis, -p表示端口;
比如执行:set k1 v1
key落到别的槽,redis-cli会转发给别的槽去执行;
只有master会分配槽,slave不会被分配槽,slave复制它的master;
slave只复制master,不写数据;
查看槽位分配:
./redis-cli --cluster check 127.0.0.1:7001
查看cluster nodes 命令查看集群节点信息
./redis-cli -c -p 7001 cluster nodes