我可以“很好”Cassandra节点工具修复
问题描述:
如果我使用“nice”来优先考虑Cassandra“nodetool修复”命令,会出现任何问题吗?它会导致较高的CPU“用户时间”负载,并对我们的生产系统产生负面影响,导致UserGrid实施API超时。我看到了有关限制网络吞吐量的文档,但iowait似乎不是问题。此外,是否有任何减轻此问题的好方法?我可以“很好”Cassandra节点工具修复
答
nodetool命令实际上并没有做任何工作。它只是调用C *中的JMX操作来启动修复,然后侦听更新以打印出来。做得好不会有什么不同。有几个主要阶段的修复
- 构建MERKLE树(每个节点上)
- 流改变
- compactions
可能验证压实(上一些版本可用压实节流阀控制)或流(可通过nodetool或cassandra.yaml设置流吞吐量)正在烧毁您的CPU。如果是这样,可以尝试使用油门,但在某些版本中,它不会有所作为。
修理完成后,正常的压实会在增量维修时开始反压实,而且如果存在很多差异,则会进行全面维修。有些问题是特定于版本的,因此请注意日志以及CPU何时需要更高的钻取深度。