我们的一个Cassandra 3.10群集的debug.log文件经常出现类似“FailureDetector.java:457 - 忽略...的间隔时间”的消息。
即使群集处于空闲状态,也会显示消息。我在这个6节点集群的每个节点上看到的消息速率大约是每秒1个(两个数据中心各有3个节点)。
有人可以告诉我导致这些消息的原因以及它们是否值得关注?
我们还有其他一些小型集群支持相同的应用程序(不同的环境),而且我更频繁地看到这个消息(相隔数天)。
答案 0 :(得分:1)
FailureDetector
负责确定某个节点是UP还是DOWN。
八卦过程直接跟踪其他节点的状态(节点 直接闲聊到它)和间接(闲聊的节点 二手,二手等等)。而不是有固定的门槛 为了标记故障节点,Cassandra使用应计检测 考虑到每个节点阈值的机制 网络性能,工作量和历史条件。中 八卦交流中,每个节点都保持着一个滑动窗口 来自其他节点中的八卦消息的到达时间 集群。
Here,您可以找到源代码,该源代码为您提供了日志消息。设置为DEBUG级别是因为它们可能有助于跟踪导致延迟的实际问题,但不能自己指出问题。
换句话说:您的节点测量发送给其他节点的每条八卦消息的确认等待时间,例如:X nanosec for IP address1, Z nanosec for IP address2, etc.
如果X
或Y
高于预期的2秒阈值,则MAX_INTERVAL_IN_NANO
中所述,它将得到报告。
问题,可能会导致此日志消息:
额外的FailureDetector日志记录是这样添加的: 通过JMX和调整调试从故障检测器公开phi值 和跟踪日志记录(CASSANDRA-9526)
我也发现了这个未解决的问题,可能与您的问题有关: 当网络为flakey(CASSANDRA-9536)时,故障检测器变得更加敏感
我还发现this关于闲聊和故障检测的文章非常有用。