如何在aws上自动缩放cassandra集群,或者如何根据负载动态地将节点连接到集群

mwyxok5s  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(370)

我一直在尝试在amazonec2示例上使用复制因子3和一致性级别1自动扩展3node cassandra集群。
我需要执行哪些步骤来根据应用程序的负载动态地将节点添加/删除到cluser?

ruoxqz4g

ruoxqz4g1#

不幸的是,响应当前负载的放大和缩小并非易事,如果您有一个包含大量数据的集群,这将是不可能的:
不能同时向一个集群添加多个节点,所有操作都必须是连续的。
添加或删除节点将需要在该节点中或从该节点中流式传输数据;这将取决于您的数据大小,以及您正在使用的ec2示例类型(对于网络带宽限制);此外,如果您使用的是示例存储或ebs(ebs将限制您的iops),也会有所不同
您提到您使用的是aws和3的复制因子,您是否也使用不同的可用性区域(az)?如果是这样的话,ec2snitch将致力于确保它们之间的信息是平衡的,为了保持弹性,当您在上下扩展时,需要在az之间保持均匀分布。
缩放操作将导致令牌分发的重新排列,一旦完成,您将需要进行清理( nodetool cleanup )删除节点不再使用的数据;这个操作也需要时间。如果因为空间不足而扩大规模,请务必记住这一点。
对于我们的用例,我们采取主动的方法获得了良好的结果,我们设置了一个积极的警报/监视策略来进行早期检测,因此我们可以在出现任何性能影响之前启动扩展操作。如果您的应用程序或用例具有可预测的使用模式,还可以帮助您在高工作负载时期采取行动。

相关问题