【问题标题】:Cassandra: adding back a removed nodeCassandra:添加已删除的节点
【发布时间】:2015-02-11 12:05:22
【问题描述】:
我的 cassandra 中的一个节点已关闭,我想从另一个节点“nodetool removenode xxx”它开始运行。如果我想将此节点添加回集群,它是否会继续使用它已有的数据?
假设我想从集群中移除整个环 (DC)。什么是正确或简单的方法?我有一个环中的所有节点,我应该只从另一个环中的节点执行“nodetool removenode”吗?
谢谢
【问题讨论】:
标签:
cassandra-2.0
datastax
opscenter
【解决方案1】:
nodetool 删除
运行 nodetool remove 后,您的集群将停止依赖此节点进行所有操作。例如,如果您有 RF2 并且有 4 个节点,则删除一个节点将导致在集群中的其余节点之间流式传输曾经位于该节点上的分区。
如果您有一个节点已离线很长时间,建议您引导一个新节点,而不是尝试重新启动它并运行修复。当数据发生显着变化时,流式传输一组新数据比构建 merkel 树和流式传输丢失的数据更便宜。
移除 DC
在删除 DC 中的节点之前,请确保您的客户端未指向这些节点并在键空间级别修改复制设置以排除旧 DC。
完成此操作后,您可以在 DC 中您计划移除的每个节点上运行 nodetool decomission。