对于system_auth,默认类应为SimpleStrategy或NetworkTopologyStrategy

时间:2018-11-02 12:33:46

标签: cassandra datastax-enterprise opscenter

在我们的Prod集群中,我看到了一些带有SimpleStrategy的 system * 键空间。 当我们在集群中添加新的DC时,我们需要使用NetworkTopologyStrategy,否则当我运行nodetool rebuild时,它将失败。

我将所有键空间从SimpleStrategy更改为NetworkTopologyStrategy,并且重建效果很好。

在ALTER期间,它还会警告您正在更改系统键空间。

另一个问题: Opscenter键空间(汇总表)拥有大量数据,为什么我应该复制这些数据,仅放置1个DC就足够了?

我的问题是系统*键空间的理想策略是什么?

1 个答案:

答案 0 :(得分:3)

  

我的问题是系统*键空间的理想策略是什么?

对此有一点警告。 systemsystem_schema具有LocalStrategy的特殊复制策略,应该保持这种方式。

然而system_authsystem_distributedsystem_traces的其他键空间是一个不同的故事。对于每个DC,将其设置为与RF 3一起使用NetworkTopologyStrategy(假设每个DC至少具有3个节点)是可以接受的。将system_distributedsystem_traces设置为 as 并不重要,但它不会对任何人造成伤害。

另一方面,system_auth 绝对应该设置为将NetworkTopologyStrategy与为每个DC指定的RF一起使用。原因是SimpleStrategy可能会将其所有副本放置在单个DC中,甚至将零个副本放置在一个DC中。这可能会导致高延迟,甚至导致身份验证检查超时,因为这会导致跨DC网络流量。

此外,如果您的应用程序使用特定于DC的负载平衡策略,则 需要为system_auth中的每个DC指定一个RF。如上所述,使用SimpleStrategy可能导致DC无法为用户获得任何副本。而且阻止特定于DC的应用程序进行连接。