无法在密钥空间中找到足够的流式范围源

时间:2017-10-13 06:01:00

标签: cassandra cassandra-2.2

我必须在其他地区添加新的Cassandra Datacenter。现在问题是先前的Datacenter是2.2.9版本,我在新数据中心创建的新节点是2.2.11。

在nodetool上重建新数据中心的所有新节点都失败并显示错误

  

无法在密钥空间中找到足够的流媒体范围来源。

即使这个错误导致系统密钥空间,如system,system_traces,system_distributed)。

此系统密钥空间位于SimpleStrategy上。

为了搜索这个问题,我发现每个人都在谈论将策略改为NetworkTopology。

但是,如果我不想在所有数据中心保留副本,那么我为什么要更改拓扑(策略)。

在之前的Cassandra版本中,我从未见过这种限制。

要避免或忽略nodetool rebuild上的这个问题,人们会说要添加

  

-Dcassandra.consistent.rangemovement =假

但是要添加每个新节点是否需要?

对于rebuild命令的其他键空间会有什么影响。

2 个答案:

答案 0 :(得分:3)

默认情况下,系统表会出现“SimpleStrategy”。使用SimpleStrategy的任何键空间仅适用于Single DataCenter Cassandra集群。

对于多DC群集,需要并建议使用NetworkTopology。建议将系统密钥空间(如system_auth和system_distributed)更改为NetworkTopology策略,复制因子大于1(理想值为3),并且还会复制到群集中涉及的所有DC。

应用程序密钥空间可以或可以复制到其他DC。但将其复制策略更改为NetworkTopology并仅复制到一个DC没有任何害处。

答案 1 :(得分:0)

我已将系统的密钥空间拓扑更改为网络拓扑,并在所有DC上使用复制因子2。

更改系统拓扑没有坏处。

在cassandra 22X版本的文档中没有提到它。但是在30x及更高版本的最新版本文档中,提到了更改系统键空间的拓扑。