Cassandra 不会将数据复制到新的 DC

Cassandra 不会将数据复制到新的 DC

我在一个数据中心有一个单节点 Cassandra 3.11.4 设置。

我知道这很糟糕而且是错误的,所以我尝试通过将数据移动到另一个数据中心的 3 节点设置来修复它。

拍摄快照并将其复制意味着太多的停机时间,因此我尝试将 3 个新节点添加到集群并让 Cassandra 复制数据。

system_distributed我的用户键空间以及的策略system_auth如下system_traces{'class': 'NetworkTopologyStrategy', '(newdc)': '3', '(olddc)': '1'}

所有节点都能正常看到彼此(旧数据中心有 1 个节点,新数据中心有 3 个节点)。所有节点都报告 UN。所有节点都报告 100% 有效所有权。我可以从任何节点查询我的密钥空间并取回数据。新节点上的数据文件夹中有一个用于我的用户密钥空间的文件夹,但它是空的。新节点显示负载 <1MB,与原来的 600GB+ 相比似乎有点低。

当我nodetool rebuild -- (olddc)在任何新节点上执行此操作时,它几乎立即返回,没有任何消息。每个人都告诉我这个命令应该真正移动数据,但没有成功。

我怎样才能真正复制数据?

在日志中,我得到了Some ranges in (...all my ranges...) are already available, skipping streaming these ranges。可用,是的,我实际上希望节点拥有数据!

nodetool status显示如下:

Datacenter: (new)
==================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  XX.XXX.X.110  775.49 KiB  256          100.0%            XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  Unknown
UN  XX.XXX.X.109  929.93 KiB  256          100.0%            XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  Unknown
UN  XX.XXX.X.108  710.75 KiB  256          100.0%            XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  Unknown
Datacenter: (old)
=============================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  XXX.XX.X.233  676.17 GiB  256          100.0%            XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  Unknown

相关内容