Cassandra - 频繁的跨节点超时
Posted
技术标签:
【中文标题】Cassandra - 频繁的跨节点超时【英文标题】:Cassandra - Frequent cross-node timeouts 【发布时间】:2021-01-12 19:56:19 【问题描述】:我正在使用 debug.log 中的以下日志观察 Cassandra 集群中的超时:
time 1478 msec - slow timeout 500 msec/cross-node
这是否表示读取请求花费了1378 ms
让其他副本响应?
NTP 与此集群同步,数据较少且分配了良好的 CPU 和内存。
设置cross_node_timeout: true
会有帮助吗?
Cassandra 版本:3.11.6
谢谢
【问题讨论】:
【参考方案1】:日志中报告的值 1478 毫秒是执行特定查询的时间记录器。因为它是跨节点的,这表示该查询/操作是跨节点执行的。这只是一个警告,您的查询运行速度较慢。慢查询超时默认值为500ms,可以在cassandra.yaml
中通过slow_query_log_timeout_in_ms
设置。
如果这是您的日志中的一个关闭日志,那么它可能是由 GC 引起的。如果它一直显示,那么您的环境(网络等)或您的查询有问题。
关于cross_node_timeout: true
的属性,它是通过CASSANDRA-4812介绍的。此属性的目的是避免在 NTP 服务器未跨节点同步的情况下超时。此属性的默认值为 false。由于 NTP 在您的集群上同步,您可以将其设置为 true,但它不会帮助您收到消息。
【讨论】:
以上是关于Cassandra - 频繁的跨节点超时的主要内容,如果未能解决你的问题,请参考以下文章
解决 Cassandra Coordinator 节点写入超时的方法