【问题标题】:Cassandra N copies in N cluster?N个集群中的Cassandra N个副本?
【发布时间】:2011-07-06 21:39:50
【问题描述】:

我正在尝试在 EC2 上配置 Cassandra 集群。
问题是(出于我的目的)我想在 N 个机器集群中有 N 个副本(所有机器都应该有相同的数据)。

我做了以下事情:
- 做了一个N机集群;所有种子;我部署了具有复制因子 N 的架构
- 使用 WRITE ALL 共识填充基础
- 现在我正在尝试使用 WRITE ANY 访问数据,然后 READ ONE。
- 我对我的客户端进行负载平衡,理论上我应该有 N 倍的吞吐量,但事实并非如此。

nodetool 在 Owns 列中显示总和为 100%,而不是 N*100%(每个节点应该有所有数据)。

有什么建议吗?

【问题讨论】:

  • 对我来说听起来有点奇怪。如果您的集群中有 100 个节点,您的想法是等到数据被写入并存在于所有 100 个节点上......?如果它在 EC2 区域/区域之间,可能会等待很长时间......
  • 感谢您的回复。问题是我使用这个设置进行一些基准测试,并且我只用最大的 N 填充一次基数。之后,我在 N 的不同子集上使用 WRITE ANY 和 READ ONE。只有第一次填充会很耗时。在我尝试查看 1、2、...N 个节点上的吞吐量发生了什么之后。

标签: amazon-ec2 cassandra cluster-computing


【解决方案1】:

如果将副本增加到 N,您将不会看到任何吞吐量优势,因为 Cassandra 现在必须写入 N 个副本。除非您禁用 read repair,否则您也不会在读取方面看到任何吞吐量优势。

最佳做法是在增加 N 时保持副本数不变。

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 2011-10-10
    • 1970-01-01
    • 2017-12-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    相关资源
    最近更新 更多