首页 > 解决方案 > 进行 nodetool 修复时,cassandra 在写入期间超时

问题描述

我在 3 个节点上运行 cassandra,一致性为 1。Nodetool 修复也安排在服务器上。

现在我观察到在节点工具修复期间,我的写入超时,即使重试最终导致我的数据摄取服务停止。

com.datastax.driver.core.exceptions.WriteTimeoutException:在 com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java :73)

我们可以在进行 nodetool 修复的同时进行写操作吗?

标签: cassandranodetool

解决方案


这通常发生在节点过载时——nodetool repair 在比较不同服务器上的数据时需要大量的输入/输出,这会给服务器增加额外的负载,以及额外的垃圾收集等,并可能导致超时。另外,修复可能会触发压缩,这也会增加额外的 IO 负载。

请检查system.log您的 Cassandra 框,并可能调整一些参数 - Java 垃圾收集、Java 堆大小等。


推荐阅读