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

时间:2018-09-07 06:58:34

标签: cassandra opennms

我们有OpenNMS将图数据发送到我们的Cassandra / Newts集群,该集群由2个Cassandra节点组成。我已将键空间“ newts”的复制因子设置为2。

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

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

  • 使用的Node1存储:36K
  • 使用的Node2存储:12M

如果我将复制因子设置为2,它们的大小如何不同?我知道它们通过“ nodetool status”连接到同一集群,该节点将两个节点都显示为“ UN”(上/正常)。

1 个答案:

答案 0 :(得分:2)

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

  

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

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

您可以运行:

nodetool flush

会将内存表刷新为sstables。之后,您应该可以在两个节点上看到相同的sstable大小。