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

使用的两个Cassandra节点的复制系数为2,但存储大小不同,cassandra,opennms,Cassandra,Opennms,我们让OpenNMS将图形数据发送到由2个Cassandra节点组成的Cassandra/Newts集群。我已经将键空间“newts”的复制因子设置为2 我同时启动了节点,并将它们保留了一段时间,然后在每个节点上运行“nodetool cfstats newts”,两个节点的写入计数完全相同 但是,如果我进入每个节点的数据目录“/db/newts”并运行“du-h”,我可以看到以下内容: 使用的节点1存储:36K 使用的节点2存储空间:12M 如果我将复制因子设置为2,它们的大小如何不同?我

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

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

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

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

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

在Cassandra中,数据不是直接写入硬盘,而是存在于:

提交日志>>Memtable>>SSTables

您可以找到一个关于如何编写数据的好文档

您可以运行:

nodetool flush

这将把memtables刷新到sstables中。之后,您应该能够在两个节点上看到相同的sstable大小。

在Cassandra中,数据不会直接写入硬盘,而是存在于:

提交日志>>Memtable>>SSTables

您可以找到一个关于如何编写数据的好文档

您可以运行:

nodetool flush
这将把memtables刷新到sstables中。之后,您应该能够在两个节点上看到相同的sstable大小