首页 > 解决方案 > Cassandra 不稳定导致查询超时

问题描述

Cassandra 3.11.1,5 节点集群

  1. 直到昨天一切正常
  2. 但是昨天(没有明显原因)我们开始出现随机读/写超时异常。任何查询都可以执行 1ms 之后,重复和超时,重复和再次 1ms - 所以应用程序无法工作。

我不是管理员(开发人员),但我开始在 nodetool 中寻找一些东西并看看tpstats它是 Dropped 部分,以及我所看到的。

Message type           Dropped
READ                       396
RANGE_SLICE                485
_TRACE                  496047
HINT                         0
MUTATION                  1139
COUNTER_MUTATION             0
BATCH_STORE                 28
BATCH_REMOVE                 0
REQUEST_RESPONSE             0
PAGED_RANGE                  0
READ_REPAIR                  0

对我来说 - 这表明某些事情非常非常错误,但我无法理解如何更详细地诊断它,原因是什么以及如何解决。

经过一些实验,我们看到如果某个节点拥有令牌会导致超时,例如select id from mytable where it = '<token from invalid node>'- 每运行 5 次就会失败并超时。

哪里有什么建议???

标签: cassandra

解决方案


一些诊断。

在日志中,节点 2 是垃圾邮件(来自 system.log)

2018-05-23 10:05:38,281 INFO  [HintsDispatcher:33] 
HintsDispatchExecutor.java:289 deliver Finished hinted handoff of file 
c53d4133-c681-4903-8399-60dfd8fa786f-1526980061074-1.hints to endpoint 
/111.11.11.111: c53d4133-c681-4903-8399-60dfd8fa786f, partially

很多很多。

重启其中一个节点后,提示被删除,情况正常化。

但仍然没有信息 - 为什么会这样以及如何预防......


推荐阅读