1.创建文件夹,
cluster-test中安装redis
mkdir cluster-test
cd cluster-test
mkdir 7000 7001 7002 7003 7004 7005
2.在7000,
7001,7002,7003,7004,7005分别创建redis.conf文件,修改相应端口
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
3.启动相应redis
cd 7000
../redis-server ./redis.conf 或 nohup ../src/redis-server redis.conf &
4.gem install redis
5../redis-trib.rb create --replicas 1 127.0.0.1:7000 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
脚本执行:
1.utils下create-cluster文件夹
./create-cluster start
./create-cluster create
./create-cluster stop
./create-cluster clean
2.默认端口30000,可在
create-cluster 脚本中修改默认配置
查询节点ID:
redis-cli -p 7000 cluster nodes | grep myself
给集群中添加新节点(master)
1.添加节点:
./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000
2.分配节点:./redis-trib.rb reshard 127.0.0.1:7006
How many slots do you want to move (from 1 to 16384)?
3.查找节点ID:redis-cli -p 7000 cluster nodes | grep myself
4.all5.check./redis-trib.rb check 127.0.0.1:7006
./redis-trib.rb reshard --from <node-id> --to <node-id> --slots <number of slots> --yes <host>:<port>给集群中添加新节点(slave)./redis-trib.rb add-node --slave 127.0.0.1:7006 127.0.0.1:7000
指定哪一个master:A ./redis-trib.rb add-node --slave --master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 127.0.0.1:7006 127.0.0.1:7000B. redis 127.0.0.1:7006> cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e删除一个节点:./redis-trib del-node 127.0.0.1:7000 `<node-id>`
删除master节点时,其必须为空:A. 可将该节点下的数据移动到其他节点B. CLUSTER FAILOVER 停掉该节点,让其变成salve节点备份迁移:(Replicas migration)CLUSTER REPLICATE <master-node-id>
当一个master节点的salve节点down掉之后,会从拥有最多salve节点的master节点里分离出一个salve节点作为第一个节点的salve节点,当该master节点down掉之后,salve变成master,又会执行之前的流程。
迁移到redis集群:1.停掉客户端2.用BGREWRITEAOF 生成 appendonly.aof文件3.停掉redis服务4.创建redis集群5.停掉集群节点,替换
appendonly.aof文件6.启动集群节点7.redis-trib fix8.redis-trib check9.启动客户端
转载请注明原文地址: https://ju.6miu.com/read-1297729.html