我怎么能看到为什么我的Riak集群没有在机器上运行压缩阶段?

我有一组Riak(V1.2.0)机器,每个都有大约50Gb的硬盘空间。 我们有以下方式configurationbitcask存储:

%% Bitcask Config {bitcask, [ {data_root, "/var/lib/riak/bitcask"}, {frag_merge_trigger, 40}, %% trigger merge if framentation is > 40% default is 60% {dead_bytes_merge_trigger, 67108864}, %% trigger if dead bytes for keys > 64MB default is 512MB {frag_threshold, 20}, %% framentation >= 20% default is 40 {dead_bytes_threshold, 67108864} %% trigger if dead bytes for data > 64MB default is 128MB ]}, 

我们的软件有一个模式,用相同的密钥频繁地重写值。 IE,这组键保持相对稳定,而值至less每天改变一次。

我们看到的模式是可用磁盘空间每天缩小,直到这些机器上的其他服务由于空间不足错误而停止运行。 有时候,重新启动盒子将回收一些空间。

我的configuration有问题吗? 我不太确定如何设置它来“自动”回收空间,以便在一周内不会耗尽磁盘空间。

我如何检查?

  • 当压缩algorithm决定运行或不运行时,它根据什么标准来决定?
  • 如何压缩实际上运行
  • 多less空间被回收

添加一行到你的bitcaskconfiguration

 {log_needs_merge, true} 

无论何时合并,console.log文件中都会显示一个条目,显示哪些文件符合哪个触发条件