Cassandra 3.10 debug.log包含频繁的" FailureDetector.java:457-忽略...的间隔时间{"

时间:2017-06-27 22:24:19

标签: cassandra

我们的一个Cassandra 3.10群集的debug.log文件经常出现类似“FailureDetector.java:457 - 忽略...的间隔时间”的消息。

即使群集处于空闲状态,也会显示消息。我在这个6节点集群的每个节点上看到的消息速率大约是每秒1个(两个数据中心各有3个节点)。

有人可以告诉我导致这些消息的原因以及它们是否值得关注?

我们还有其他一些小型集群支持相同的应用程序(不同的环境),而且我更频繁地看到这个消息(相隔数天)。

1 个答案:

答案 0 :(得分:1)

FailureDetector负责确定某个节点是UP还是DOWN。

  

八卦过程直接跟踪其他节点的状态(节点   直接闲聊到它)和间接(闲聊的节点   二手,二手等等)。而不是有固定的门槛   为了标记故障节点,Cassandra使用应计检测   考虑到每个节点阈值的机制   网络性能,工作量和历史条件。中   八卦交流中,每个节点都保持着一个滑动窗口   来自其他节点中的八卦消息的到达时间   集群。

Here,您可以找到源代码,该源代码为您提供了日志消息。设置为DEBUG级别是因为它们可能有助于跟踪导致延迟的实际问题,但不能自己指出问题。

换句话说:您的节点测量发送给其他节点的每条八卦消息的确认等待时间,例如:X nanosec for IP address1, Z nanosec for IP address2, etc.如果XY高于预期的2秒阈值,则MAX_INTERVAL_IN_NANO中所述,它将得到报告。

问题,可能会导致此日志消息:

  • 节点上的巨大负载:例如,太多的大分区
  • 高压:例如在一段时间内查询过多
  • 网络连接错误

额外的FailureDetector日志记录是这样添加的: 通过JMX和调整调试从故障检测器公开phi值    和跟踪日志记录(CASSANDRA-9526

我也发现了这个未解决的问题,可能与您的问题有关: 当网络为flakey(CASSANDRA-9536)时,故障检测器变得更加敏感

我还发现this关于闲聊和故障检测的文章非常有用。