有没有办法在 cassandra 中强制进行轻微压缩?
我尝试在有待处理任务的节点上使用 nodetool 将压缩阈值设置为 4 4,但没有任何反应。
为什么你想要一个小压缩而不是一个大压缩?
当您将压缩阈值设置为 4 4 时,有多少个 SSTable?如果少于 4 个,则不会触发次要压缩,因为它不符合压缩阈值。
您可以通过查看其中一个键空间中的文件来检查您的 SSTable 及其大小。它应该看起来像这样:
andrew@spite:/var/lib/cassandra/data/test_ks $ du -ch *
4.0K Users-hc-1-Data.db
4.0K Users-hc-1-Digest.sha1
4.0K Users-hc-1-Filter.db
4.0K Users-hc-1-Index.db
8.0K Users-hc-1-Statistics.db
4.0K Users.Users_name_idx-hc-1-Data.db
4.0K Users.Users_name_idx-hc-1-Digest.sha1
4.0K Users.Users_name_idx-hc-1-Filter.db
4.0K Users.Users_name_idx-hc-1-Index.db
8.0K Users.Users_name_idx-hc-1-Statistics.db
48K total
andrew@spite:/var/lib/cassandra/data/test_ks $
不,只能手动触发主要压缩。
0.7 版的Datastax 文档说,次要压缩“定期自动执行”,这表明您不能强制进行次要压缩,而必须等待发生。据推测,如果有必要,您只需等待足够长的时间。