redis集群相关

来源:互联网 发布:Linux主分区 编辑:程序博客网 时间:2024/05/04 15:00
1.创建文件夹,cluster-test中安装redis
mkdir cluster-testcd cluster-testmkdir 7000 7001 7002 7003 7004 7005
2.在7000,7001,7002,7003,7004,7005分别创建redis.conf文件,修改相应端口
port 7000cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly 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.all
5.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:7000
B. 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 fix
8.redis-trib check
9.启动客户端
                                             
0 0
原创粉丝点击