【问题标题】:How to autoscale Cassandra cluster on AWS or how to node dynamically to the cluster depending upon the load如何在 AWS 上自动扩展 Cassandra 集群或如何根据负载动态连接到集群
【发布时间】:2019-04-13 05:02:59
【问题描述】:

我一直在尝试在 Amazon EC2 实例上使用复制因子 3 和一致性级别 1 自动扩展 3 节点 Cassandra 集群。

我需要执行哪些步骤才能根据应用程序的负载向集群动态添加/删除节点?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 cassandra cassandra-3.0


    【解决方案1】:

    不幸的是,对当前负载进行扩缩容并不简单,如果您的集群具有大量数据,这将是不可能的:

    • 您不能同时向一个集群添加多个节点,所有的 操作需要按顺序进行。
    • 添加或删除节点将需要将数据流输入或输出 节点;这将取决于您的数据的大小,以及 您正在使用的 EC2 实例类型(用于网络带宽限制); 此外,如果您使用实例,也会有差异 存储或 EBS(EBS 会限制您的 IOPS)
    • 您提到您正在使用 AWS 并且复制因子为 3, 您是否还使用不同的可用区(AZ)?如果你是, EC2Snitch 将努力确保信息平衡 在他们之间,为了有弹性,当你扩大规模和 下来,您需要在 AZ 之间保持均匀分布。
    • 缩放操作将导致分布重新排列 令牌,一旦完成,您将需要进行清理 (nodetool cleanup) 删除不再使用的数据 节点;这个操作也需要时间。这很重要 请记住,如果您正在扩大规模,因为您已经用完了 空间。

    对于我们的用例,我们采取积极主动的方法取得了良好的效果,我们设置了积极的警报/监控策略以进行早期检测,因此我们可以在对性能产生任何影响之前开始扩大运营。如果您的应用程序或用例具有可预测的使用模式,也可以帮助您采取措施为高工作负载时期做好准备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-01
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 2020-12-09
      • 2021-11-22
      • 2011-11-11
      相关资源
      最近更新 更多