如何在现有的cassandra集群中禁用vnode?

时间:2014-08-06 16:13:09

标签: cassandra datastax-enterprise

DSE文档说这是为了禁用vnodes,但我相信它是在设置新群集的环境中。是否可以在现有群集上禁用vnode而不丢失数据?有没有这个程序?

  

禁用虚拟节点¶

     

禁用虚拟节点:

     

在cassandra.yaml文件中,将num_tokens设置为1。   num_tokens:1   取消注释initial_token属性并将其设置为1或生成的令牌的值>对于多节点集群。

1 个答案:

答案 0 :(得分:3)

根据我从同一问题收到的答案,您需要创建一个禁用vnodes的新DC。

  1. 如果您正在使用DseSimpleSnitch根据节点类型自动分配DC,则需要将所有现有节点和新节点的snitch更改为其他节点(例如GossipingPropertyFileSnitch)。否则,您将启动的所有新节点将简单地添加到已启用vnode的现有DC中。您可以在/dse.yaml

  2. 中更改此设置
  3. 计算并将令牌分配给新节点

  4. 在cassandra.yaml中将 auto_bootstrap 设置为 false
  5. 启动新节点
  6. 在每个新节点上运行 nodetool rebuild 。这是一个长期运行的过程,因此我建议您在screen实例中运行它以避免在关闭终端时意外终止
  7. 我可能错过了一些步骤。请务必检查此处给出的步骤: Disabling virtual nodes in an existing Solr DC