Cassandra中具有多个数据中心的副本放置逻辑

时间:2015-02-18 01:07:55

标签: hadoop cassandra-2.0

当使用一致性EACH_QUORUM和具有2个数据中心DC1和DC2的复制4执行写入时,DC1中的副本放置3和DC2中的1,哪个类选择二级和三级副本应驻留的节点?这个小报是GossipingPropertyFileSnitch和NetworkTopologyStrategy。客户端使用FileSystem.create创建一个新文件并对其执行写入。第一个副本将根据令牌和行键哈希转到节点。第二个和第三个副本在DC1和DC2中的位置是什么?

1 个答案:

答案 0 :(得分:1)

一致性级别与展示位置策略无关。简单地说,在成功或失败报告给客户端之前,有多少节点应该向协调器报告。

每个DC独立地根据其复制因子放置副本。因此在DC2中,将根据分区功能存储唯一的副本。在DC1中,根据此文档完成副本放置:http://www.datastax.com/docs/1.0/cluster_architecture/replication#networktopologystrategy

  

NetworkTopologyStrategy独立确定副本位置   在每个数据中心内如下:

     

第一个副本根据分区放置(与。相同)   SimpleStrategy)。通过走环来放置额外的复制品   顺时针方向,直到找到不同机架中的节点。如果没有这样的节点   存在,其他副本放在同一个不同的节点中   架。 NetworkTopologyStrategy尝试将复制品放在不同的位置   机架,因为同一机架中的节点(或类似的物理分组)   由于电源,冷却或网络问题,可能会同时发生故障。