跨多个节点的Cassandra数据同步

问题描述 投票:0回答:1

我有 5 个机器节点连接在 Cassandra 分布式数据系统中。我已将复制因子设置为 3。

我了解到,对于 3 个复制,数据将根据协调器节点的可用性分布在 3 个节点上。当我检查各个节点时,行数有所不同。 我已将大约 100k 行从 csv 传输到 cassandra。这是否意味着我必须对所有节点进行行计数才能获得结果?我正在使用 dsbulk 来检查行数。

我在这里遗漏了什么吗?

cassandra replication dsbulk
1个回答
0
投票

有 5 个节点,RF 为 3,加载了 100k 行原始数据 - 假设没有丢失突变,那么总共 300k 行数据分布在 5 个节点上。 (3 x 100k 的射频)。

您提到数据是基于

coordinator nodes availability
进行传播的 - 但它是基于行的分区键的一致哈希,关于哪些节点保存副本。

很可能,当使用 DSBulk 时,您使用的是 local_one 的默认一致性级别 (https://docs.datastax.com/en/dsbulk/docs/reference/driver-options.html#datastaxJavaDriverBasicRequestConsistency),并且有负载上的突变被删除。 将一致性级别更改为至少 local_quorum / 修复集群以使其恢复到一致状态。

© www.soinside.com 2019 - 2024. All rights reserved.