cassandra多数据中心数据同步滞后

时间:2014-10-09 18:32:56

标签: cassandra datastax opscenter

我已经配置了一个跨越两个数据中心(AWS,us-east和us-west)的Cassandra集群。写入仅发生在us-east环上,我可以看到数据与另一个环同步。然而,滞后很高。

On DC1
cqlsh:ks> select count(*) from cf1 limit 1000000;

 count
--------
 225568

On DC2
cqlsh:ks> select count(*) from cf1 limit 1000000;

 count
--------
 139964

-

  1. 为什么会这样,这取决于什么?
  2. 有没有办法使用任何工具查看延迟?这可以在OpsCenter中查看吗?

1 个答案:

答案 0 :(得分:2)

由于您的两个DC位于不同的AWS区域,您可能会看到两者之间存在一些滞后。这取决于在DC上同步的数据量。如果您有大列系列和/或高级写入,那么这只意味着要同步更多数据。使用LOCAL_QUORUM是在本地DC中保持写入的正确选择。如果需要,可以使用较低的一致性级别,一般来说,如果数据一致性很重要,经验法则总是以比读取更高的一致性级别写入。

除了通常的操作系统级工具外,Cassandra还拥有nodetool实用程序。对于监视,您可以使用以下nodetool命令:

nodetool netstats - (显示节点是否为流数据)http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsNetstats.html

nodetool cfstats - (显示对延迟等有用的列族统计信息)http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsCFstats.html

nodetool proxyhistograms - (显示协调员节点的统计数据)http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsProxyHistograms.html

还有许多其他非常有用的nodetool命令,您可以使用:

http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsNodetool_r.html

我假设您使用的是Cassandra 2.0,但对于其他版本,很多命令与nodetool相似

作为旁注,您还可以使用OpsCenter提供群集的图形视图,有关详细信息,请参阅:http://www.datastax.com/documentation/opscenter/5.0/opsc/about_c.html