1.在根目录下创建集群测试目录 cluster-learn
2.在cluster-learn下创建 7001,7002,7003,7004,7005,7006目录
3.每个目录下放置一份 redis.conf 文件
4.修改 redis.conf 配置文件
下面是一个做少选项的集群配置文件,以7000文件下的redis.conf举例
port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes
5.编写 启动redis脚本文件 和 关闭redis脚本文件
脚本放在 cluster-learn 目录下
vim startall.sh
cd 7001 redis-server redis.conf cd .. cd 7002 redis-server redis.conf cd .. cd 7003 redis-server redis.conf cd .. cd 7004 redis-server redis.conf cd .. cd 7005 redis-server redis.conf cd .. cd 7006 redis-server redis.conf cd ..
vim stopall.sh
redis-cli -p 7001 shutdown redis-cli -p 7002 shutdown redis-cli -p 7003 shutdown redis-cli -p 7004 shutdown redis-cli -p 7005 shutdown redis-cli -p 7006 shutdown
6.给脚本文件授予运行的权限
chmod +x startall.sh chmod +x stopall.sh
7.运行 startall.sh
./startall.sh
8.创建集群
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
成功画面
9.测试
进入7001主节点,在里面存放一个键hello,值hahaha
根据上面的句群配置,7001节点的备份节点是 7004,我们进入7004,查找 hello
查询的到
但是当我尝试去获取 hello 的值的时候,报错:(error) MOVED 866 127.0.0.1:7001,意思是我们应该去7001去找,键保存在 hash866槽
在这里我们在进入7004节点时。添加一个命令参数,可以自行跳转道存储该键的节点,命令加上 -c
redis-cli -c -p 7004