我们有OpenNMS将图形数据发送到我们的Cassandra/Newts集群,该集群由2个Cassandra节点组成。我已将密钥空间"蝾螈"的复制因子设置为 2。
我同时启动节点并将它们保留一段时间,然后在每个节点上运行"nodetool cfstats newts",两个节点具有完全相同的写入计数。
但是,如果我进入每个节点的数据目录"/db/newts"并运行"du -h",我可以看到以下内容:
- 使用的节点 1 存储:36K
- 使用的节点2存储:12M
如果我将复制因子设置为 2,它们的大小会有什么不同?我知道它们通过"节点工具状态"连接到同一个集群,该状态将两个节点都显示为"UN"(启动/正常(。
在Cassandra中,数据不会直接写入硬盘驱动器,而是位于:
提交日志>> 内存表>> SSTables
在这里,您可以找到有关如何写入数据的良好文档。
您可以运行:
nodetool flush
这会将内存表冲洗到马厩中。之后,您应该能够在两个节点上看到相同的稳定大小。