cassandra - Cassandra 不稳定导致查询超时
问题描述
Cassandra 3.11.1,5 节点集群
- 直到昨天一切正常
- 但是昨天(没有明显原因)我们开始出现随机读/写超时异常。任何查询都可以执行 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 次就会失败并超时。
哪里有什么建议???
解决方案
一些诊断。
在日志中,节点 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
很多很多。
重启其中一个节点后,提示被删除,情况正常化。
但仍然没有信息 - 为什么会这样以及如何预防......
推荐阅读
- javascript - 给定数组,编写一个返回订单对象的函数
- java - Spring OAuth2 通过 Client-Id 获取 UserInfoUri
- python-3.x - LP3THW - python3 ex18.py(及更高版本)不再运行
- powershell - 如何在powershell中将多个值放入一个变量中?
- mysql - 有什么方法可以使用 select 语句(mysql)检索表的 ddl?
- javascript - `!name` 在 javascript 中是什么意思?
- arrays - 如何在c中创建一个链表数组?
- javascript - NetSuite Suitelet子列表分页处理方法及首页索引列表位置调整
- java - Log4j 不断写入旋转删除的日志文件
- python - 在递归函数调用中保存列表