【发布时间】:2017-02-14 23:46:04
【问题描述】:
我已将应用程序部署到 5 节点独立集群。部署成功成功。但是由于应用程序中的一些错误,应用程序没有启动。 我尝试使用 Service Fabric Explorer 从群集中删除应用程序,但失败了。
应用程序的健康状态为“错误”,状态为“正在删除” 该应用程序有 9 个服务。 6 项服务显示带有问号的健康状态“未知”和“未知”状态。 3 项服务显示健康状态“正常”,但状态为“正在删除”。
我也尝试使用 powershell 将其删除:
Remove-ServiceFabricApplication -ApplicationName fabric:/appname -Force -ForceRemove
结果是操作超时。
我还尝试了在其他帖子中找到的以下脚本。
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:/System/NamingService 服务显示“警告”健康状态。
这是在分区 00000000-0000-0000-0000-000000001002 上。
主副本显示:
不健康事件:SourceId='System.NamingService'、Property='Duration_PrimaryRecovery'、HealthState='Warning'、ConsideWarningAsError=false。
PrimaryRecovery 于 2016-10-06 07:55:21.252 开始,耗时超过 30:00.000。
我还重新启动了每个节点(当时是 1 个),但没有任何结果。
如何在不重新创建集群的情况下强制删除应用程序,因为这不是生产环境的选项。
【问题讨论】: