首页 > 解决方案 > 对于 system_auth 默认类应该是 SimpleStrategy 或 NetworkTopologyStrategy

问题描述

在我们的 Prod 集群中,我看到了一些带有 SimpleStrategy的系统*键空间。当我们在集群中添加新的 DC 时,我们需要在 NetworkTopologyStrategy 上,否则当我运行 nodetool 重建时,它失败了。

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

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

另一个问题:Opscenter Keyspace(rollup* tables)有大量数据,为什么我要复制它,只放 1 个 DC 就足够了?

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

标签: cassandradatastax-enterpriseopscenter

解决方案


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

对此有一点警告。 system并且system_schema有一个特殊的复制策略LocalStrategy,他们应该保持这种状态。

system_auth然而,system_distributed、 和的其他键空间是另一回事system_traces。将它们设置为与每个 DC 一起使用NetworkTopologyStrategy的 RF 3(假设每个 DC 至少有 3 个节点)是完全可以接受的。为system_distributed, 和设置它system_traces并不重要但它不应该伤害任何东西。

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

此外,如果您的应用程序使用特定于 DC 的负载平衡策略,您需要为system_auth. 如上所述,使用SimpleStrategy可能会导致 DC 无法为用户获取任何副本。而且阻止特定于 DC 的应用程序连接。


推荐阅读