Я развернул приложение в автономный кластер из 5 узлов. Развертывание удалось. Но приложение не запускалось из-за некоторой ошибки в приложении. Я попытался удалить приложение из кластера с помощью проводника службы, но это не удается.Сбой приложения служебной ткани
Состояние здоровья приложения «Ошибка», а статус «Удаление» Приложение имеет 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
}
}
Также нет результата, сценарий не нашел реплики для удаления.
В то же время мы начали удаление приложения, и одна из системных служб также изменила состояние. Служба ткани:/System/NamingService показывает состояние здоровья «Предупреждение». Это раздел на 00000000-0000-0000-0000-000000001002. Первичная реплика показывает:
Нездоровое событие: SourceId = 'System.NamingService', свойство = 'Duration_PrimaryRecovery', HealthState = 'Warning', OpinWarningAsError = false. PrimaryRecovery началось с 2016-10-06 07: 55: 21.252 занимает больше 30: 00.000.
Я также перезапустил каждый узел (1 в то время) без результата.
Как принудительно удалить приложение без повторного создания кластера, поскольку это не вариант для производственной среды.
Спасибо за повтор. Я решил это. Я уже пробовал использовать Remove-ServiceFabricReplica со сценарием в моем вопросе. Но из-за ошибки в скрипте, который я использовал, id не работал. Я исправил свой скрипт и исправил проблему. И на этом узле не было никакого процесса для этого приложения. После того, как приложение было удалено, предупреждение о дележе NamingService также исчезло. –