我可以"很好" Cassandra nodetool修复

时间:2017-03-01 16:32:05

标签: linux cassandra nice

如果我优先考虑Cassandra" nodetool repair"是否会出现任何问题?使用" nice" ?它导致高CPU和用户时间"加载并对我们的生产系统产生负面影响,导致我们的Usergrid实现的API超时。我看到有关限制网络吞吐量的文档,但iowait似乎不是问题。另外,有什么好方法可以缓解这个问题吗?

1 个答案:

答案 0 :(得分:1)

nodetool命令实际上没有做任何工作。它只是调用C *中的JMX操作来启动修复,然后侦听打印输出的更新。做得好不会有任何区别。修复有几个主要阶段

  1. 构建merkle树(在每个节点上)
  2. 流更改
  3. compactions
  4. 可能验证压缩(在某些版本上可以通过压缩限制来控制)或者流(可以通过nodetool或cassandra.yaml设置流吞吐量)正在烧毁CPU。如果是这样可以尝试使用节流阀,但在某些版本中它不会有所作为。

    修复完成后,正常的压缩会在增量维修中开始反压缩,如果有很多差异流,也可以进行全面维修。有些问题是特定于版本的,所以要注意日志,当CPU高时要深入了解。