我在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
答案 0 :(得分:2)
这看起来像预期的结果。根据您的复制因子,每个数据都会被复制2次。因此,大致分布在4个节点上的47 Mb乘以2导致每个节点大约25 mb。