"Partition is below target replica or instance count" 将 Service Fabric 应用程序部署到 public Service Fabric 集群后出错

"Partition is below target replica or instance count" error after deploying service fabric application to public service fabric cluster

我创建了一个服务结构无状态可靠服务,其中我使用 OWIN 来托管 Web API。当我将应用程序部署到本地集群时,它运行良好,我可以调用 API。

当我将应用程序部署到 public 集群时,部署成功完成,但是当我使用 Service fabric explorer 检查集群时,

副本似乎有一段时间处于 "In Build" 状态, 然后它移动到 "Warning" 状态,最后 fabric explorer 中的整个树都变红了,分区下不再有副本。 并将健康状态显示为错误。 显示错误 "Partition is below target replica or instance count".

我还使用了允许的端口来创建 OWIN Web 服务器。

当我在本地集群中部署应用程序时,不会发生这种情况。 Service Fabric Explorer Screenshot for public cluster , Service Fabric Explorer Screenshot for Local Cluster

大多数时候这个错误实际上只是意味着 "we couldn't get your service started." 如果您的服务中有未处理的异常阻止它启动,您可以在 Service Fabric Explorer 中深入到您的服务实例或副本以查看多次尝试后无法启动时的堆栈跟踪。

顺便说一句,我建议使用较新的 web-based Service Fabric Explorer。只需将 Web 浏览器指向集群上的端口 19080:例如,http://mycluster.eastus.cloudapp.azure.com:19080/Explorer/index.htm.

我的一点评论..在这个错误上花了几个小时之后,问题出在我的 C:\ 驱动器上的 低磁盘 space .将免费 space 从大约 3GB 增加到 8GB 后,错误消失了。

如此处所述:https://github.com/Azure/service-fabric-issues/issues/15

The default installation requires around 10Gb of disk space today

我遇到了这个问题,这是一个配置错误。

端口 19080 上的服务 Fabric 资源管理器中的错误说:

Error event: SourceId='System.FM', Property='State'.

分区低于目标副本或实例数。 结构:/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 并重新发布解决了我这边的问题。

经典 Eye-Dee-Ten-Tee (ID10T) 配置问题:-D

我正在使用 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>

我刚收到相同的错误消息。原来我的容器还没有建成。花了几分钟,然后状态变为 OK。

另一个原因是,如果您创建了无状态服务(检查 ApplicationPackageRoot/ApplicationManifest。xml),但该服务实现了有状态服务。

我今天遇到了同样的问题,除了其他答案提到的可能原因外,另一个可能的原因是您使用旧版本的 SF runtime/SDK/library。

请确保您的项目中的 SF 运行时和 SDK 以及引用的 DLL 是最新的!