0

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

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

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

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

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

4

1 回答 1

2

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

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

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

你可以运行:

nodetool flush

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

于 2018-09-07T07:32:58.713 回答