2016-03-17 174 views
3

我想知道Cassandra集羣與幾個大型,功能強大的節點以及具有許多小型節點的集羣之間會有什麼差異。例如,如果我選擇在AWS EC2上運行Cassandra,如果我選擇一個m4.4xlarge節點或兩個m4.2xlarge節點,或者4個m4.xlarge或8個m4.large,會有什麼區別?根據https://aws.amazon.com/ec2/pricing/,它們應該具有相同的計算能力。但是對於Cassandra,他們會有不同的表現嗎?假設我們總是將複製因子設置爲1,所以比較是公平的。Cassandra集羣很多小節點vs較少的大節點

回答

2

我將從經驗中回答這個問題。當你啓動Cassandra時,它需要至少8GB的堆。因此,我建議您至少運行8 GB的RAM,如果不是更多。

擁有更多節點顯然意味着您擁有更多冗餘,但是如果節點沒有類似的機器類型,則有時會浪費額外的資源。例如,如果您有10個具有100 GB磁盤的節點,則具有超過200 GB磁盤的任何節點都會喜歡浪費。這也意味着這些節點必須與每個節點進行更多的通信,因此增加了所需的帶寬。對於AWS,您獲得的網絡越好,虛擬機越好。

DataStax建議僅在生產時使用最少16 GB的RAM,推薦使用32-64 GB之間的RAM。

嘗試這兩種模式後,我可以告訴你,最佳位置是8個線程/內核,32 GB內存和1 TB SSD。

如果你可以有一個最低三個這樣的節點,那麼我認爲你很好。如果這是一個問題,你應該得到一個強大的節點還是三個強大的節點來爭取同樣的錢,那麼總是去爭取更多的節點。

+0

可能值得一提的是,將節點添加到3節點集羣將會破壞性能,直到集成新節點。坦率地說,如果你想要擴展,10個節點以下的任何集羣將會有越來越多的痛苦 –

相關問題