我有带 3 个节点 (datacenter1) 的 cassandra 4.0.1 集群,我们决定需要添加第二个数据中心 (datacenter2),我已经完成了本文中描述的所有步骤
首先,我们auto_bootstrap: false
在cassandra.yaml
所有三个新节点的配置中都使用选项一一添加了节点。
复制因子是rf=o
在添加/引导过程中针对 datacenter2 的。然后我们将 system_auth、system_traces、system_distributed 键空间和我的用户键空间从 更改为 datacenter2 的 big_datarf=0
到。rf=3
ALTER KEYSPACE
所有节点都已成功加入集群,但是有一个奇怪的情况:
我们无法从 datacenter1 进行重建过程,cassandra 告诉我以下内容:
nodetool: Unable to find sufficient sources for streaming range Full(/192.168.1.141:7000,(9143760283360780305,-9086318401025854203]) in keyspace system_auth
...我在下一个新节点上看到了相同的印刷品。我能用它做什么?
架构版本在所有节点上都相同。
如果我执行完全修复,所有数据将出现在所有新节点上,但重建过程在这种情况下仍然无法正常工作。
我需要你的建议。
您很有可能在添加新 DC 时错过了一个步骤。
高级步骤是:
system_distributed
、system_auth
和system_traces
应用程序密钥空间切换到NetworkTopologyStrategy
仅在现有 DC 中具有副本。auto_bootstrap: false
。如果您在未执行步骤 (1) 和 (2) 的情况下执行了步骤 (4),那么您将遇到上面报告的问题。
回去,重新做一遍这些步骤,你应该没问题。干杯!