从Service Fabric集群中移除应用程序

6

我尝试使用Service Fabric Explorer从服务群集中删除应用程序。

我使用“删除应用程序”操作删除了我的应用程序。 然后,当我尝试取消预配应用程序类型时,出现错误消息,内容如下:

错误:无法取消预配版本为1.0.0的应用程序类型,因为它仍包含活动应用程序。

即使在删除应用程序后,我仍可以看到应用程序内的Actor服务在某些节点上仍处于活动状态。我附上了我的Service Fabric Explorer的屏幕截图。

有关完全删除应用程序的任何帮助?

2个回答

21

如果应用程序中的服务在请求平台关闭时没有很好地执行,例如忽略RunAsync中的取消令牌,那么这种情况就可能发生。

以下是一个快速的PowerShell脚本,它将遍历一个应用程序并强制删除所有有状态服务的所有副本:

Connect-ServiceFabricCluster -ConnectionEndpoint localhost:19000

$nodes = Get-ServiceFabricNode

foreach($node in $nodes)
{
    $replicas = Get-ServiceFabricDeployedReplica -NodeName $node.NodeName -ApplicationName "fabric:/MyApp"

    foreach ($replica in $replicas)
    {
        Remove-ServiceFabricReplica -ForceRemove -NodeName $node.NodeName -PartitionId $replica.Partitionid -ReplicaOrInstanceId $replica.ReplicaOrInstanceId
    }
}

运行正常。不要忘记将“fabric:/MyApp”替换为您自己的应用程序名称。 - ken2k

2

请前往http://localhost:19080/-->扩展集群-->应用程序-->服务 单击服务旁边的3个点,选择“删除服务”选项 同样地,删除应用程序,然后取消供应类型


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接