【问题标题】:cassandra multi datacenter data sync lagcassandra 多数据中心数据同步滞后
【发布时间】:2015-01-10 01:32:46
【问题描述】:

我已经配置了一个跨越两个数据中心(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 中查看吗?

【问题讨论】:

  • 您使用什么一致性级别进行写入?使用EACH_QUORUM(详情:datastax.com/documentation/cassandra/2.1/cassandra/dml/…)可能有助于解决延迟问题(因为在两个 DC 都确认它们之前写入不会完成),但它会增加写入的延迟。一般来说,您可能应该查看网络和磁盘吞吐量。
  • 我们目前使用 LOCAL_QUORUM 并且出于延迟原因希望保留它。将查看网络和磁盘吞吐量。

标签: cassandra datastax opscenter


【解决方案1】:

由于您的两个 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

【讨论】:

    猜你喜欢
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2013-03-30
    • 2015-06-11
    • 2019-08-01
    • 2020-07-27
    • 1970-01-01
    相关资源
    最近更新 更多