【发布时间】:2017-01-28 11:14:25
【问题描述】:
我有一个 Service Fabric 应用程序,它有一个无状态 Web api 和一个有两个分区的有状态服务。无状态 web api 定义了一个 web api 控制器并使用ServiceProxy.Create 来获取有状态服务的远程代理。远程调用将消息放入可靠队列。
有状态服务每 X 分钟将消息从队列中出列。
我正在查看 Service Fabric 资源管理器,我的应用程序在过去几天一直处于错误状态。当我深入了解详细信息时,有状态服务出现以下错误:
错误事件:SourceId='System.FM',Property='State'。分区在 法定人数损失。
查看资源管理器,我发现我的主副本已启动并正在运行,它看起来像是一个 ActiveSecondary,但其他两个副本显示 IdleSecondary 并且它们继续进入 Standby / In Build 状态。我不知道为什么会这样。
我的其他辅助节点一直无法进入 ActiveSecondary 状态/导致此仲裁损失的一些原因是什么?
【问题讨论】:
-
能否添加 powershell 命令“Get-ServiceFabricClusterHealth”的输出?
-
它报告我的服务和分区不健康,但没有提供任何细节。
-
配置中有多少个节点和副本?
-
5 节点集群,Min Replica = 2,Target = 3。2x 分区(虽然它们都处于这种失败状态)
-
集群中有多少个应用?您是否在该问题开始出现之前更新了应用程序?
标签: azure-service-fabric service-fabric-stateful