Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除redis集群中的所有内容?_Redis - Fatal编程技术网

如何删除redis集群中的所有内容?

如何删除redis集群中的所有内容?,redis,Redis,我的redis集群坏了。一个节点似乎认为它是一个没有复制的3节点集群,另一个节点似乎认为它是单独的,第三个节点同意第一个节点。我想要一个具有2个复制节点的3节点集群(无拆分) 我不想非得弄清楚如何取消我的redis集群:我想重新开始 现有的问题不包括集群,因为集群的一切都要复杂得多 预期结果:清洁安装。没有群集配置 不幸的是,仅仅重新安装整个程序似乎是不够的。我该如何告诉它真正地——是的,我确信,真的忘记关于它自己和它知道的所有其他节点的一切?特别是: 删除所有非配置文件群集配置 命令CLU

我的redis集群坏了。一个节点似乎认为它是一个没有复制的3节点集群,另一个节点似乎认为它是单独的,第三个节点同意第一个节点。我想要一个具有2个复制节点的3节点集群(无拆分)

我不想非得弄清楚如何取消我的redis集群:我想重新开始

现有的问题不包括集群,因为集群的一切都要复杂得多

预期结果:清洁安装。没有群集配置

不幸的是,仅仅重新安装整个程序似乎是不够的。我该如何告诉它真正地
——是的,我确信,真的
忘记关于它自己和它知道的所有其他节点的一切?特别是:

  • 删除所有非配置文件群集配置

命令
CLUSTER-FORGET
让我半途而废,但是节点不能忘记自己?为什么不呢?无论如何,以某种方式说服他们这样做可能就足够了。

困难的部分在于实现以下三点:

  • redisclicluster
    rediscli--CLUSTER
    ,集群命令在这两者之间随机分配
  • 当对涉及两个节点的内容使用
    redis cli--cluster
    时,必须在
    --cluster
    部分之前和之后提供
    -a
    密码参数两次。后面提供的用于目标节点,前面提供的用于“配置”节点
  • 使用redis CLUSTER的命令仅适用于一个节点,因此必须对每个节点重复。(它们无法访问其他节点)
  • 知道了这一点,我们可以继续擦拭必要的东西:

     redis-cli -h host01 -a password CLUSTER NODES
    
    打印具有长标识符的节点列表。着手

    # forget about the other nodes in the cluster on each node
    redis-cli -h host01 -a password1 CLUSTER FORGET <host02 key> 
    redis-cli -h host01 -a password1 CLUSTER FORGET <host03 key> 
    
    redis-cli -h host02 -a password2 CLUSTER FORGET <host01 key> 
    redis-cli -h host02 -a password2 CLUSTER FORGET <host03 key> 
    
    redis-cli -h host03 -a password3 CLUSTER FORGET <host01 key> 
    redis-cli -h host03 -a password3 CLUSTER FORGET <host02 key> 
    # flush all data so that the node can be reset
    redis-cli -h host01 -a password1 FLUSHALL
    redis-cli -h host02 -a password2 FLUSHALL
    redis-cli -h host03 -a password3 FLUSHALL
    # reset the node 
    redis-cli -h host01 -a password1 CLUSTER RESET
    redis-cli -h host02 -a password2 CLUSTER RESET
    redis-cli -h host03 -a password3 CLUSTER RESET
    
    #忘记集群中每个节点上的其他节点
    redis cli-h host01-密码1群集
    redis cli-h host01-密码1群集
    redis cli-h host02-密码2群集
    redis cli-h host02-密码2群集
    redis cli-h host03-密码3群集
    redis cli-h host03-密码3群集
    #刷新所有数据,以便可以重置节点
    redis cli-h host01-密码1
    redis cli-h host02-a密码2
    redis cli-h host03-密码3
    #重置节点
    redis cli-h host01-密码1群集重置
    redis cli-h host02-密码2群集重置
    redis cli-h host03-密码3群集重置
    
    例如,您也可以执行redis cli——集群调用host01 FLUSHALL