我想知道哪种配置最适合在节点之间均匀分配数据。
在这种情况下,我想知道rac3中唯一的节点node3是否会比其他节点具有更多的数据,因为复制策略表明副本将位于其他rac上的节点中。
在这种情况下,数据将在所有节点之间平均分配。
想知道我的理解是否正确?
答案 0 :(得分:0)
是的,您应该使用6个节点来确保每个机架中的节点数相等-当使用多个机架时,每个机架中的节点数相等是基本要求。
但是,您真的需要多个机架吗?因为当您每次需要扩展时,缩放变得更加困难,因为每次需要照顾备用节点顺序和数据分配。
答案 1 :(得分:0)
在Cassandra中,多个RACK可以在任何灾难性情况下在cassandra群集中继续提供数据可用性。 Cassandra建议在产品群集中也使用相同的建议。您的两个选项都很好。但是,您应该在cassandra群集中使用奇数个节点。
答案 2 :(得分:0)
如果在3个机架中有5个节点,是的,一个节点将承受更大的负载/压力。
最好以机架数的倍数扩展群集,以保持节点之间的数据平衡。例如,在3机架集群中,每次扩展集群时应添加3个节点。
如果您选择使用多个机架,则理想的机架数应≥您选择的复制因子。这样,Cassandra可以将每个副本存储在单独的机架中。
在机架故障的情况下,其他副本仍然可用。
例如,对于RF = 3和3个机架以及在QUORUM
处的查询,您可以承受单个机架的故障。鉴于RF = 3和2个机架位于QUORUM
,因此无法保证在机架故障的情况下2个副本仍然可用。
机架用于将故障域通知给Cassandra。如果您在自己的数据中心中运行,顾名思义,则应根据节点所在的机架来分配机架。如果您在云中运行,最好的选择是将机架映射到AWS 区域(或与您的提供商等效的任何区域)。