cassandra 八卦协议和 phi_threshold 是如何工作的?
How does cassandra gossip protocol and phi_threshold works?
当前设置,cassandra 2.2.5,八卦默认为 1 秒,phi 阈值为 8。我面临的问题是提示中出现尖峰。提示上升的原因之一是节点被标记为关闭时(八卦尚未传达 phi 阈值)。
我看了一篇文章,里面说phi阈值8对应18秒,这里或那里会有几秒。现在我需要明白是什么原因,是什么阻止八卦沟通 18 秒。八卦交流需要满足的checklist是什么?
回复:"How does cassandra gossip protocol and phi_threshold works?":披是approximated as: phi = (tnow - tLast) / mean
and a node is marked down whenphi > phi_threshold / 0.434
。对于您的设置(并假设平均值为 1 [因为节点通常每隔 1 秒接收一次心跳]),如果我们在 8 / 0.434 = 18.42
秒内没有收到来自节点的任何心跳,该节点将被标记为关闭。
可以找到记录该算法的论文 here.
回复:"What is the checklist that needs to be satisfied for gossip to communicate?":对我来说有几件事:
- 网络:gossip 消息被丢弃或 gossip 端口 (7000/7001) 被阻止;
- 节点本身:节点是 busy/unresponsive(即执行 GC,执行一些重负载操作),因此它们不会发送 any/much 八卦消息。
当前设置,cassandra 2.2.5,八卦默认为 1 秒,phi 阈值为 8。我面临的问题是提示中出现尖峰。提示上升的原因之一是节点被标记为关闭时(八卦尚未传达 phi 阈值)。
我看了一篇文章,里面说phi阈值8对应18秒,这里或那里会有几秒。现在我需要明白是什么原因,是什么阻止八卦沟通 18 秒。八卦交流需要满足的checklist是什么?
回复:"How does cassandra gossip protocol and phi_threshold works?":披是approximated as:
phi = (tnow - tLast) / mean
and a node is marked down whenphi > phi_threshold / 0.434
。对于您的设置(并假设平均值为 1 [因为节点通常每隔 1 秒接收一次心跳]),如果我们在8 / 0.434 = 18.42
秒内没有收到来自节点的任何心跳,该节点将被标记为关闭。 可以找到记录该算法的论文 here.回复:"What is the checklist that needs to be satisfied for gossip to communicate?":对我来说有几件事:
- 网络:gossip 消息被丢弃或 gossip 端口 (7000/7001) 被阻止;
- 节点本身:节点是 busy/unresponsive(即执行 GC,执行一些重负载操作),因此它们不会发送 any/much 八卦消息。