cassandra - 进行 nodetool 修复时,cassandra 在写入期间超时
问题描述
我在 3 个节点上运行 cassandra,一致性为 1。Nodetool 修复也安排在服务器上。
现在我观察到在节点工具修复期间,我的写入超时,即使重试最终导致我的数据摄取服务停止。
com.datastax.driver.core.exceptions.WriteTimeoutException:在 com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java :73)
我们可以在进行 nodetool 修复的同时进行写操作吗?
解决方案
这通常发生在节点过载时——nodetool repair 在比较不同服务器上的数据时需要大量的输入/输出,这会给服务器增加额外的负载,以及额外的垃圾收集等,并可能导致超时。另外,修复可能会触发压缩,这也会增加额外的 IO 负载。
请检查system.log
您的 Cassandra 框,并可能调整一些参数 - Java 垃圾收集、Java 堆大小等。
推荐阅读
- javascript - Angular 等到订阅完成并为其他函数赋值
- ios - 从 Firebase 中检索没有重复的数据
- java - 点击通知后实现intent方法(NotificationCompat.Builder)
- javascript - 为什么我不能在反应中从 json 读取对象?
- c++ - 在新线程中调用成员函数
- android - 如何在 MediaStyle 通知中显示 MediaPlayer 位置 - Android
- c# - 如何链接图像源 =“?” 使用 DataTable 中的值(路径图像)?wpf
- google-apps-script - 在 Google 表格中,如何编写脚本将绘图移动到工作表上的特定位置?
- javascript - 有没有办法检测文本区域内的编程代码?
- c - 替换文本文件中的单词的功能未按预期工作