我有一个包含2个节点的集群(节点1和节点2)。
在淘汰节点2之后,我想将服务器用作新的Cassandra数据库用于其他目的,但是一旦我重新启动此消息就会出现:
org.apache.cassandra.exceptions.ConfigurationException:此节点是 退役并且不会重新加入戒指,除非 cassandra.override_decommission = true已设置,或全部已存在 数据被删除,节点再次被引导
所以我删除了所有现有数据。
但我不希望节点再次被引导(既不重新加入前一个环)又要成为一个全新的纯Cassandra数据库。
旧节点不在种子列表中。
Cassandra版本:3.9
编辑:我想我被误解了,对不起。退役后,我希望:两个不相关的数据库,完全分开。那是因为我们想要重新使用再次托管node2的机器来在另一个环境中部署Cassandra DB。
答案 0 :(得分:1)
不要使用override_decommission。该标志仅用于重新加入同一个集群。
您应该删除节点上的所有数据文件(Cassandra将在启动时重新创建系统表)。最重要的是,你需要在cassandra.yaml中更改种子。我怀疑它仍然是节点1的ip,因此您需要将其更改为节点2(本身)。
答案 1 :(得分:0)
使用选项 cassandra.override_decommission:true
答案 2 :(得分:0)
使用该选项,cassandra.override_decommission = true。另外,请注意cluster_name的定义是cassandra.yaml:
群集的名称。此设置可防止一个逻辑中的节点 集群加入另一个集群。群集中的所有节点都必须具有 相同的价值。
因此,确保在cassandra.yaml中也为cluster_name选项使用另一个值。
尝试以下步骤: