cassandra数据复制理解

时间:2015-02-05 09:40:46

标签: azure cassandra replication

我在Azure上玩Cassandra集群。我花了一个多星期的时间才完成设置和工作。它现在正在工作,但我认为我误解了Cassandra的1个概念,即如何存储数据?

我的印象是,当我上传数据时,所有机器都可以使用相同的数据,即如果我上传10 MB文件和4个节点(2个种子),则所有4个将消耗10MB。我想我错了。

因为我刚刚创建了4个节点并上传了(2 + 5 + 20 + 20 = 47 MB​​)数据(blob)但是当我检查状态时,我看到下面

--  Address   Load       Tokens  Owns (effective)  Host ID                               Rack
UN  10.1.2.5  28.32 MB   256     47.5%             xxxxxxxx-eb9a-46fb-8213-c7487074d9a8  rc1
UN  10.1.2.4  27.14 MB      256     51.3%             xxxxxxxx-11ed-41c6-be8b-a912e54b1ccf  rc1
UN  10.1.2.7  25.09 MB   256     50.1%             xxxxxxxx-9e73-410a-b1bf-5bfd15138625  rc2
UN  10.1.2.6  23.32 MB   256     51.2%             xxxxxxxx-d132-49b6-8eda-4459391d12e4  rc2

BTW,表的复制因子是“2”。负载每隔几分钟就会略有变化。但我可以按预期下载数据及其数据!

对于懒惰和不公平感到抱歉,我一直在谷歌搜索设置一周,如果你能帮助我理解这一点,或者至少指向我正确的链接,我将非常感激。

谢谢, Ninad

1 个答案:

答案 0 :(得分:2)

这看起来像预期的结果。根据您的复制因子,每个数据都会被复制2次。因此,大致分布在4个节点上的47 Mb乘以2导致每个节点大约25 mb。