我创建了一个服务结构无状态可靠服务,其中我使用OWIN来托管Web API。当我将应用程序部署到本地群集时,它工作正常,我可以调用API。
当我将应用程序部署到公共集群时,部署已成功完成,但是当我使用Service Fabric Explorer检查集群时,
复制品似乎处于“In Build”状态一段时间, 然后它移动到“警告”状态,最后结构浏览器中的整个树变红,并且分区下没有更多副本。 并将健康状态显示为错误。 显示错误“分区低于目标副本或实例计数”。
我还使用了允许的端口来创建OWIN Web服务器。
当我在本地群集中部署应用程序时,不会发生这种情况。 Service Fabric Explorer Screenshot for public cluster, Service Fabric Explorer Screenshot for Local Cluster
答案 0 :(得分:15)
大多数情况下,此错误实际上只是意味着“我们无法启动您的服务”。如果服务中的未处理异常阻止其启动,则可以在Service Fabric资源管理器中深入查看服务实例或副本,以便在多次尝试后无法启动时查看堆栈跟踪。
BTW,我建议使用较新的基于Web的Service Fabric Explorer。只需将Web浏览器指向群集上的端口19080即可:例如http://mycluster.eastus.cloudapp.azure.com:19080/Explorer/index.htm。
答案 1 :(得分:10)
我的身边只有一点评论......在这个错误上花了好几个小时后,我的C:\
驱动器上出现了磁盘空间不足的问题。将可用空间从大约3GB增加到8GB后,错误消失了。
如上所述:https://github.com/Azure/service-fabric-issues/issues/15
默认安装需要大约10Gb的磁盘空间
答案 2 :(得分:3)
我遇到了这个问题,这是配置错误。
端口19080上的服务Fabric Explorer的错误说:
Error event: SourceId='System.FM', Property='State'.
分区低于目标副本或实例计数。 fabric:/ MyApp / MyService 3 2 [partitionid] N / P RD _Node_0向上[长数字] (显示1个复制品中的1个。可用副本总数:1。)
在我的ApplicationManifest.xml中,我有:
<Service Name="MyService">
<StatefulService ServiceTypeName="MyServiceType" TargetReplicaSetSize=**"3"** MinReplicaSetSize=**"2"**>
<SingletonPartition />
</StatefulService>
</Service>
将MinReplicaSetSize减少到1并将TargetReplicaSetSize减少到1并重新发布解决了我的问题。
Classic Eye-Dee-Ten-Tee(ID10T)配置问题:-D
答案 3 :(得分:1)
另一个原因是,如果您创建了无状态服务(请检查ApplicationPackageRoot / ApplicationManifest.xml),但是该服务实现了有状态服务。
答案 4 :(得分:0)
我正在使用Azure Service Fabric部署我的应用程序并收到此错误。
经过调查,我发现这是因为“TargetReplicaSetSize”和“MinReplicaSetSize”超出了我的节点数。
要解决此问题,请在ApplicationParameters / cloud.xml中将“PartitionCount”,“TargetReplicaSetSize”“MinReplicaSetSize”更改为1,然后重新部署该应用程序:
<?xml version="1.0" encoding="utf-8"?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/Voting" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="xxx_PartitionCount" Value="1" />
<Parameter Name="xxx_MinReplicaSetSize" Value="1" />
</Parameters>
</Application>
答案 5 :(得分:0)
我刚刚遇到了相同的错误消息。原来我的容器还没有建好。花费了几分钟,但状态更改为“确定”。
答案 6 :(得分:0)
我今天遇到了同样的问题,除了其他答案中提到的可能原因外,另一个可能的原因是您正在将旧版本用于SF runtime / SDK / library。
请确保项目中的SF运行时和SDK及引用的DLL是最新的!