簡體   English   中英

如何在AWS上自動擴展Cassandra群集或如何根據負載動態地動態連接到群集

[英]How to autoscale Cassandra cluster on AWS or how to node dynamically to the cluster depending upon the load

我一直在嘗試在Amazon EC2實例上自動縮放具有復制因子3和一致性級別1的3節點Cassandra群集。

我需要執行哪些步驟才能根據應用程序負載動態地向cluser添加/刪除節點?

不幸的是,根據當前負載進行向上和向下縮放不是一件容易的事,並且如果您的集群中包含大量數據,將無法實現:

  • 您不能將多個節點同時添加到集群,所有操作都需要順序進行。
  • 添加或刪除節點將需要流數據流入或流出該節點; 這將取決於您的數據大小以及您使用的EC2實例類型(用於網絡帶寬限制); 此外,如果您使用實例存儲或EBS,也會有所不同(EBS將限制您的IOPS)
  • 您提到您正在使用AWS且復制因子為3,是否還在使用不同的可用區(AZ)? 如果您願意,EC2Snitch將努力確保它們之間的信息平衡,以便保持彈性。在向上和向下縮放時,您需要保持AZ之間的均勻分布。
  • 縮放操作將導致令牌分配的重新排列,完成后,您將需要執行清理( nodetool cleanup )以刪除該節點不再使用的數據; 此操作也將花費時間。 如果要擴大規模,請牢記這一點,因為空間不足。

對於我們的用例,采取積極的方法將獲得良好的結果,我們已經建立了積極的警報/監視策略以進行早期檢測,因此我們可以在不影響性能的情況下開始進行擴展操作。 如果您的應用程序或用例具有可預測的使用模式,則還可以幫助您在准備高工作量期間采取行動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM