redis集群相关

    xiaoxiao2025-04-04  11

    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
    最新回复(0)