Cassandra 在 Nodetool 修复过程中写入期间超时



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

现在我观察到在节点工具修复发生期间,我的写入超时,即使在重试中也是如此,最终导致我的数据摄取服务中断。

com.datastax.driver.core.exceptions.WriteTimeoutException:在一致性LOCAL_ONE写入查询期间的 Cassandra 超时(需要 1 个副本,但只有 0 个确认写入( at com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:73(

我们可以在节点工具修复进行时进行写入操作吗?

通常,当节点过载时会发生这种情况 - nodetool 修复在比较不同服务器上的数据时需要密集的输入/输出,这会增加服务器的额外负载,以及额外的垃圾收集等,并可能导致超时。 此外,修复可能会触发压实,这也会增加额外的 IO 负载。

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

最新更新