我有一个4节点的快速集群,在Cassandra DC中有2个Cassandra节点,在Brisk DC中有2个快节点。我使用压力工具对这个设置进行了压力测试,该压力工具与cassandra一起发送,用于1000万次写入
执行
$ ./nodetool -h x.x.x.x compactionstats
pending tasks: 17
compaction type keyspace column family bytes compacted bytes total progress
Major Keyspace1 Standard1 45172473 60278166 74.94%
AFAIK主要压缩是从节点工具手动触发的。但我能够看到它已被自动触发。 这是一个理想的行为吗?如果是这样,那么可能出现的情况是什么?
此致 泰米尔语
答案 0 :(得分:8)
来自doc:
当至少刷新N个SStables时会触发压缩 到磁盘,其中N是可调的,默认为4。
“次要”压缩合并类似大小的sstables; “主要”压缩合并了给定ColumnFamily中的所有sstables。
再次来自doc:
通过nodeprobe,或自动:
触发主要压缩Nodeprobe将TreeRequest消息发送给目标的所有邻居 node:当节点收到TreeRequest时,它将执行readonly 压缩以立即验证列族。
自动压缩还将验证列族和广播 TreeResponses,但由于TreeRequest消息未发送到 相邻节点,只有在两个节点发生时才会进行修复 在一个TREE_STORE_TIMEOUT内执行自动压缩 另一个。