我在 Kubernetes 环境中使用 Apache Ignite .Net v2.7。我使用 TcpDiscoverySharedFsIpFinder 作为集群中的节点发现机制。我注意到正在运行的集群中有一个奇怪的行为。集群成功启动并可以正常工作几个小时。然后,一个节点下线,然后每个其他节点写入类似的日志:[20:03:44] Topology snapshot [ver=45, locNode=fd32d5d7, servers=3, clients=0, state=ACTIVE, CPUs=3, offheap=4.7GB, heap=1.5GB][20:03:44] Topology snapshot [ver=46, locNode=fd32d5d7, servers=2, clients=0, state=ACTIVE, CPUs=2, offheap=3.1GB, heap=1.0GB][20:03:44] Coordinator changed [prev=TcpDiscoveryNode [id=c954042e-5756-4fed-b82a-b8b1d79889ce, addrs=[10.0.0.28, 127.0.0.1], sockAddrs=[/10.0.0.28:47500, /127.0.0.1:47500], discPort=47500, order=36, intOrder=21, lastExchangeTime=1562009450041, loc=false, ver=2.7.0#20181130-sha1:256ae401, isClient=false], cur=TcpDiscoveryNode [id=293902ba-b28d-4a44-8d5f-9cad23a9d7c4, addrs=[10.0.0.11, 127.0.0.1], sockAddrs=[/127.0.0.1:47500, /10.0.0.11:47500], discPort=47500, order=37, intOrder=22, lastExchangeTime=1562009450061, loc=false, ver=2.7.0#20181130-sha1:256ae401, isClient=false]]Jul 01, 2019 8:03:44 PM org.apache.ignite.logger.java.JavaLogger error如您所见,集群中的服务器数量稳步减少,直到集群中只剩下一台服务器(每个节点上的拓扑快照 [.. servers=1..])。如果我对日志的理解正确,集群会折叠成一组单独的独立节点,其中每个节点代表一个单独的集群。我应该强调所有其他节点(崩溃的节点除外)都已启动并正在运行。我猜想失败的节点可能是集群领导者,当它死亡时,集群无法选举新的领导者并且它分解成许多独立的节点。你能对此发表评论吗?我的猜测对吗?你能告诉我应该检查什么来诊断和解决这个问题吗?谢谢你!
1 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
节点分割通常意味着有长时间的停顿:要么是 GC 停顿,要么是 I/O 停顿,要么是网络停顿。
您可以尝试增加failureDetectionTimeout
,看看问题是否消失。或者,您可以尝试摆脱停顿。
添加回答
举报
0/150
提交
取消