Cassandra - 频繁的跨节点超时

标签 cassandra nosql datastax

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

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

这是否表示读取请求花费了 1378 毫秒 来让其他副本响应?

NTP 与此集群同步,数据较少且分配了良好的 CPU 和内存。

设置 cross_node_timeout: true 会有帮助吗?

Cassandra 版本:3.11.6

谢谢

最佳答案

日志中报告的值 1478 毫秒是执行特定查询的时间记录器。因为它是跨节点的,所以表示此查询/操作是跨节点执行的。这只是一个警告,表明您的查询运行速度较慢。慢查询超时默认值为 500 毫秒,可以在 cassandra.yaml 中通过 slow_query_log_timeout_in_ms 设置。

如果这是您日志中的一个关闭日志,那么它可能是由 GC 引起的。如果它一直出现,则说明您的环境(网络等)或您的查询有问题。

关于属性 cross_node_timeout: true,它是通过 CASSANDRA-4812 引入的.此属性的目的是在 NTP 服务器未跨节点同步的情况下避免超时。此属性的默认值为 false。由于 NTP 在您的集群上同步,您可以将其设置为 true,但它对您收到的消息没有帮助。

关于Cassandra - 频繁的跨节点超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64081759/

相关文章:

cassandra - Spring 数据 Cassandra 2.0 Select BLOB 列返回不正确的 ByteBuffer 数据

cassandra - 如何计算出 Cassandra 表中键的大概数量?

Cassandra 死了,但 pid 文件存在

nosql - 关于 Cassandra 中使用的分布式计算概念的书籍推荐

nosql - 如何在 Redis 中查询和表示对象/哈希之间的关系

solr - Solr 中的相关性搜索

cassandra - Datastax C++ 驱动程序中每个主机的连接数

java - Java 应用程序的生产级 Cassandra 客户端配置

cassandra - 在 Cassandra 中以矩阵格式保存数据?

cassandra - Cassandra 如何处理 datastax java 驱动程序中的阻塞执行语句