cassandra数据复制理解
cassandra data replication understanding
我正在使用 Azure 上的 Cassandra 集群。我花了 1 周多的时间才完成设置并开始工作。它现在可以工作了,但我想我误解了 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
顺便说一句,表的复制因子是“2”。负载每隔几分钟就会略有变化。但我可以按预期下载数据和它!
抱歉我的懒惰和不公平,我已经在谷歌上搜索了一个星期的设置,如果你能帮助我理解这一点或者至少指出我正确的做法,我将不胜感激 link。
谢谢,
尼纳德
这看起来像是预期的结果。根据您的复制因子,您的每条数据都会被复制 2 次。因此,大致分布在 4 个节点上的 47 Mb 乘以 2 导致每个节点上大约有 25 mb。
我正在使用 Azure 上的 Cassandra 集群。我花了 1 周多的时间才完成设置并开始工作。它现在可以工作了,但我想我误解了 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
顺便说一句,表的复制因子是“2”。负载每隔几分钟就会略有变化。但我可以按预期下载数据和它!
抱歉我的懒惰和不公平,我已经在谷歌上搜索了一个星期的设置,如果你能帮助我理解这一点或者至少指出我正确的做法,我将不胜感激 link。
谢谢, 尼纳德
这看起来像是预期的结果。根据您的复制因子,您的每条数据都会被复制 2 次。因此,大致分布在 4 个节点上的 47 Mb 乘以 2 导致每个节点上大约有 25 mb。