Cassandra-频繁的跨节点超时

问题描述

我正在使用以下debug.log中的日志来观察Cassandra集群中的超时:

time 1478 msec - slow timeout 500 msec/cross-node

这是否表示读取请求在1378 ms上花费其他副本进行响应?

此群集的NTP是同步的,数据更少,分配的cpu和内存也很好。

设置cross_node_timeout: true会有所帮助吗?

Cassandra版本:3.11.6

谢谢

解决方法

日志中报告的值1478毫秒是为执行特定查询而记录的时间。因为是跨节点的,所以表明此查询/操作是在节点之间执行的。这仅是警告您的查询运行缓慢。慢查询超时的默认值为500ms,可以由cassandra.yamlslow_query_log_timeout_in_ms中进行设置。

如果这是您日志中的一个关闭日志,则可能是GC引起的。如果它持续显示,则说明您的环境(网络等)或您的查询有问题。

关于属性cross_node_timeout: true,它是通过CASSANDRA-4812引入的。此属性的目的是避免在节点之间不同步NTP服务器的情况下超时。此属性的默认值为false。由于NTP已在您的群集上同步,因此您可以将其设置为true,但它对您收到的消息无济于事。