Cassandra 2.1将snitch从EC2Snitch更改为GossipingPropertyFileSnitch

时间:2018-09-19 09:45:01

标签: cassandra nodetool

当前,我们在单个AWS区域中使用带有两个可用区的EC2Snitch。目标是即使没有一个可用区也可提供弹性。大多数数据都以RF = 2复制,因此每个可用区都基于Ec2Snitch获得一个副本。

现在,我们已经得出结论,开始使用GossipingPropertyFileSnitch。原因主要是我们已经意识到,一个可用区下降是一个远程事件,即使它发生,堆栈中还有其他系统不支持此操作。因此,如果发生这种情况,最终整个应用都会崩溃。

其他原因是使用EC2Snitch和两个可用区时,我们不得不将比例缩放为2(每个可用区中一个)。通过仅使用一个机架的GossipingPropertyFileSnitch,我们可以将比例缩放为1。

当我们更改此告密设置时,拓扑是否会更改?我想避免需要运行nodetool修复。运行nodetool修复程序总是会失败,并且它将永远运行。

1 个答案:

答案 0 :(得分:1)

是否更改拓扑取决于您执行更改的方式。如果将与当前配置相同的逻辑直流和机架分配给该节点,则不应更改拓扑。

更新为GossipingPropertyFileSnitch后,必须将机架与AZ匹配。您需要滚动重启才能进行重新配置。

示例cassandra-rackdc.properties,用于2个AZ中1 dc中的2个节点:

# node=10.0.0.1, dc=first, AZ=1
dc_suffix=first
# Becomes
dc=first
rack=1

# node=10.0.0.2, dc=first, AZ=2
dc_suffix=first
# Becomes
dc=first
rack=2

在侧面,您需要研究维修失败的原因。不幸的是,它们对于集群健康非常重要。