Cassandra 3.10 debug.log包含频繁的“FailureDetector.java:457 – 忽略……的间隔时间”

我们的一个Cassandra 3.10集群的debug.log文件有频繁的消息类似于“FailureDetector. java:457 – 忽略……的间隔时间”

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

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

我们有几个其他的小集群支持相同的应用程序(不同的环境),我看到这个消息的频率低得多(相隔数天).

FailureDetector负责决定节点是UP还是DOWN.

The gossip process tracks state from other nodes both directly (nodes
gossiping directly to it) and indirectly (nodes communicated about
secondhand, third-hand, and so on). Rather than have a fixed threshold
for marking failing nodes, Cassandra uses an accrual detection
mechanism to calculate a per-node threshold that takes into account
network performance, workload, and historical conditions. During
gossip exchanges, every node maintains a sliding window of
inter-arrival times of gossip messages from other nodes in the
cluster.

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

换句话说:您的节点测量发送到其他节点的每个八卦消息的确认延迟,例如:IP地址1的X nanosec,IP地址2的Z nanosec等.如果X或Y高于预期的2秒阈值,如MAX_INTERVAL_IN_NANO中所述,它会被报道.

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

>节点上的巨大负载:例如太多大分区
>高压:例如在排序时间段内查询太多
>网络连接不良

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

而且我发现这个未解决的问题可能与你的问题有关:
当网络变得脆弱时,故障检测器变得更加敏感(CASSANDRA-9536)

另外,我发现this关于Gossiping和Failure Detection的文章非常有用.

相关文章
相关标签/搜索