在我们的Prod集群中,我看到了一些带有SimpleStrategy的系统*密钥空间。当我们在集群中添加新的DC时,我们需要使用NetworkTopologyStrategy,否则当我运行nodetool重建时,它失败了。
我将所有的keyspace从SimpleStrategy更改为NetworkTopologyStrategy&重建工作进展顺利。
在ALTER过程中,它还警告您正在更改系统密钥空间。
另一个问题:Opscenter Keyspace(汇总*表(有很多数据,为什么我要复制这些数据,只放一个DC就足够了??
我的问题是,系统*密钥空间的理想策略应该是什么??
我的问题是,system*密钥空间的理想策略应该是什么?
这是一个小警告。system
和system_schema
具有LocalStrategy
的特殊复制策略,它们应该保持这种方式。
然而,system_auth
、system_distributed
和system_traces
的其他密钥空间则不同。对于每个DC,将其设置为使用具有RF 3的NetworkTopologyStrategy
(假设每个DC具有至少3个节点(是完全可以接受的。为system_distributed
和system_traces
设置这一点并不重要,但应该不会有任何影响。
另一方面,system_auth
应明确设置为使用NetworkTopologyStrategy
,并为每个DC指定RF。原因是SimpleStrategy
可能会将其所有副本放在单个DC中,甚至在一个DC中放零个副本。这可能会导致身份验证检查的高延迟甚至超时,因为这会导致跨DC网络流量。
此外,如果您的应用程序使用特定于DC的负载平衡策略,则将需要为system_auth
中的每个DC指定一个RF。如上所述,使用SimpleStrategy
可能导致DC无法获得用户的任何副本。并且将阻止特定于DC的应用程序连接。