两个 Cassandra 节点,复制因子为 2,但使用的存储大小不同



我们有OpenNMS将图形数据发送到我们的Cassandra/Newts集群,该集群由2个Cassandra节点组成。我已将密钥空间"蝾螈"的复制因子设置为 2。

我同时启动节点并将它们保留一段时间,然后在每个节点上运行"nodetool cfstats newts",两个节点具有完全相同的写入计数。

但是,如果我进入每个节点的数据目录"/db/newts"并运行"du -h",我可以看到以下内容:

  • 使用的节点 1 存储:36K
  • 使用的节点2存储:12M

如果我将复制因子设置为 2,它们的大小会有什么不同?我知道它们通过"节点工具状态"连接到同一个集群,该状态将两个节点都显示为"UN"(启动/正常(。

在Cassandra中,数据不会直接写入硬盘驱动器,而是位于:

提交日志>> 内存表>> SSTables

在这里,您可以找到有关如何写入数据的良好文档。

您可以运行:

nodetool flush

这会将内存表冲洗到马厩中。之后,您应该能够在两个节点上看到相同的稳定大小。

最新更新