对于 system_auth,默认 Class 应该是 SimpleStrategy 或 NetworkTopologyStrategy
For system_auth default Class should be SimpleStrategy or NetworkTopologyStrategy
在我们的 Prod 集群中,我看到一些带有 SimpleStrategy 的 system* 键空间。
当我们在集群中添加新的 DC 时,我们需要在 NetworkTopologyStrategy 上,否则当我 运行 nodetool 重建时,它失败了。
我将所有键空间从 SimpleStrategy 更改为 NetworkTopologyStrategy,并且重建工作正常。
在 ALTER 期间,它还会警告您正在更改系统密钥空间。
另一个问题:Opscenter Keyspace(rollup* tables) 有大量数据,为什么我要复制它,它应该足以放在 1 个 DC 上? ?
我的问题是系统* 键空间的理想策略是什么?
My question what should be the ideal strategy for system* keyspaces?
关于这个的一点警告。 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
中的每个 DC 指定一个 RF。如上所述,使用 SimpleStrategy
可能会导致 DC 无法为用户获取任何副本。而且 会 阻止特定于 DC 的应用程序连接。
在我们的 Prod 集群中,我看到一些带有 SimpleStrategy 的 system* 键空间。 当我们在集群中添加新的 DC 时,我们需要在 NetworkTopologyStrategy 上,否则当我 运行 nodetool 重建时,它失败了。
我将所有键空间从 SimpleStrategy 更改为 NetworkTopologyStrategy,并且重建工作正常。
在 ALTER 期间,它还会警告您正在更改系统密钥空间。
另一个问题:Opscenter Keyspace(rollup* tables) 有大量数据,为什么我要复制它,它应该足以放在 1 个 DC 上? ?
我的问题是系统* 键空间的理想策略是什么?
My question what should be the ideal strategy for system* keyspaces?
关于这个的一点警告。 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
中的每个 DC 指定一个 RF。如上所述,使用 SimpleStrategy
可能会导致 DC 无法为用户获取任何副本。而且 会 阻止特定于 DC 的应用程序连接。