Cassandra执行元数据压缩任务时间过长时的处理方法
对于一个日常数据变化量较大的分布式存储服务集群(比如NetApp StorageGRID),其Cassandra元数据表SSTable中堆积大量过期数据是在所难免的。一般而言,当SSTable大小到达一定值时,便会自动触发元数据压缩任务,这个压缩操作会将标记为过期的key从SSTable中清理掉,进而释放可用空间。
随着数据量变化幅度的增加,有时会出现元数据压缩任务十分缓慢的情况。元数据压缩无法完成,便会影响所在节点的存储服务性能(因为压缩也会占用一定的I/O及CPU资源)。此时可以尝试通过孤立节点的方式,临时缓解元数据压缩速度。
问题现象
1. 节点的整体存储服务性能下降