【发布时间】:2017-06-03 23:51:39
【问题描述】:
我有 2 个节点的 cassandra 集群。我打算将它们拆分为两个单节点集群。
- 关闭两个 Cassandra 实例
- 在两个节点中编辑 cassandra.yaml,将种子更改为指向自身,并设置 endpoint_snitch: SimpleSnitch
- 在两个节点上启动 Cassandra
Nodetool Status 命令显示 2 个节点,而我预计只有一个节点。
我做错了什么?
【问题讨论】:
我有 2 个节点的 cassandra 集群。我打算将它们拆分为两个单节点集群。
Nodetool Status 命令显示 2 个节点,而我预计只有一个节点。
我做错了什么?
【问题讨论】:
这里的问题是每个节点仍然认为它是 2 节点集群的一部分。它会一直这样,直到你告诉它。假设您需要将数据保留在每个节点上,那么您需要在每个节点上运行 nodetool removenode <id>,以便在 nodetool status 的输出中显示为 DN 的另一个节点。如果您不需要两个节点上的数据,也可以使用nodetool decommission
有关删除节点的一些背景信息,请see this link。
请注意,如果您打算将这两个节点重新连接在一起,那么我强烈建议您将其中一个节点擦除并引导到现有集群中,因为您最终可能会在尝试加入两个集群时出现架构分歧。
【讨论】: