我正在使用CQLSSTableWriter在离线/批量模式下编写sstables。在写入操作期间不强制执行该顺序。在使用sstableloader将数据加载到cassandra集群之前,是否可以强制执行压缩?
答案 0 :(得分:1)
SStables本质上是不可变的,sstable也不仅仅是一个文件,而是具有元数据的数据。 元数据包括index.db等。检查数据文档以获取更多详细信息。
因此我们不应该手动操作,因为每个sstable中的标记范围将在压缩期间发生变化,并且结果sstable将不会使数据均匀分布。 压缩也会导致更大的sstable,而具有sstable的节点将成为热点。
最好/建议不要手动操作。
答案 1 :(得分:0)
您可以通过nodetool drain
耗尽节点,然后安全地继续进行压缩。