将 2 节点 cassandra 集群转换为 1 节点集群
Converting 2 node cassandra Cluster to 1 node cluster
我有 2 个节点的 cassandra 集群。我打算将它们拆分为两个单节点集群。
- 关闭两个 Cassandra 实例
- 在两个节点中编辑 cassandra.yaml,将种子更改为指向自己,并设置 endpoint_snitch:SimpleSnitch
- 在两个节点上启动 Cassandra
两个节点上的 Nodetool Status 命令显示 2 个节点,而我预计只有一个节点。
我做错了什么?
这里的问题是每个节点仍然认为它是 2 节点集群的一部分。它会保持这样,直到你告诉它其他方式。假设您需要在每个节点上保留数据,那么您需要在每个节点上 运行 nodetool removenode <id>
,以便在 nodetool status
的输出中显示为 DN
的另一个节点。如果您不需要两个节点上的数据,您还可以使用 nodetool decommission
有关删除节点的一些背景信息,请see this link。
请注意,如果您打算 re-join 这两个节点在一起,那么我强烈建议您将其中一个节点擦除并 bootstrap 到现有集群中,因为您最终会得到一个架构试图加入两个集群时出现分歧。
我有 2 个节点的 cassandra 集群。我打算将它们拆分为两个单节点集群。
- 关闭两个 Cassandra 实例
- 在两个节点中编辑 cassandra.yaml,将种子更改为指向自己,并设置 endpoint_snitch:SimpleSnitch
- 在两个节点上启动 Cassandra
两个节点上的 Nodetool Status 命令显示 2 个节点,而我预计只有一个节点。
我做错了什么?
这里的问题是每个节点仍然认为它是 2 节点集群的一部分。它会保持这样,直到你告诉它其他方式。假设您需要在每个节点上保留数据,那么您需要在每个节点上 运行 nodetool removenode <id>
,以便在 nodetool status
的输出中显示为 DN
的另一个节点。如果您不需要两个节点上的数据,您还可以使用 nodetool decommission
有关删除节点的一些背景信息,请see this link。
请注意,如果您打算 re-join 这两个节点在一起,那么我强烈建议您将其中一个节点擦除并 bootstrap 到现有集群中,因为您最终会得到一个架构试图加入两个集群时出现分歧。