繁体   English   中英

Microsoft Service Fabric 主机服务 (FabricHostSvc) 在启动时挂起

[英]Microsoft Service Fabric Host Service (FabricHostSvc) Hangs on Start

自 2015 年 11 月以来,我一直在使用 Microsoft Service Fabric,遇到了很多问题,但现在 Service Fabric 在我的开发机器上完全无法正常工作。 卸载/重新安装没有帮助。

我使用的是 1.5-preview,此后尝试了 2.0 无济于事。

当我尝试从 Visual Studio 2015 Update 1 运行 Service Fabric 应用程序时,问题就开始了(过去几个月我已经做了数百次)。

我的机器蓝屏(我第一次看到 Windows 10 蓝屏)。 重新启动后,我无法通过 Visual Studio 部署我的 Service Fabric 应用程序。 PowerShell 脚本失败并显示以下消息:

启动服务 FabricHostSvc。 这可能需要几分钟的时间...启动服务:无法启动服务“Microsoft Service Fabric 主机服务 (FabricHostSvc)”。

进入SCM,发现“Microsoft Service Fabric Host Service”处于Starting状态。 就这样呆了一个小时。 我多次尝试停止和启动服务,每次都挂起。

我卸载了 Service Fabric(Service Fabric、SDK 和 VS 工具)并使用最新版本 2.0 重新安装,但它出现了同样的问题。

重启,同样的问题。

删除了 c:\\SfDevCluster 文件夹,同样的问题。

根据其他一些文章,我在卸载后查找了任何杂散的性能计数器,但没有。

我尝试查看注册表,但还有其他名称中带有“Fabric”的 Azure 组件。 如果我删除它们,我可能会处理其余的 Azure 开发设置。

现在...当我再次尝试启动该服务时,它确实重新创建了 SfDevCluster 文件夹并给了我一些日志。 它似乎每分钟创建两个跟踪日志文件,并且它们具有完全相同的内容。

每次失败时,跟踪的最后一行是:

信息 ,11176,General.FabricSetup.Main,Operation failed with error 0xffffffff

较早的跟踪 (SF 1.5) 似乎使用常量而不是十六进制值来表示错误。 似乎表明一个无效的论点。

不管这次失败是什么,它似乎是我痛苦的原因。 不幸的是,该错误完全没有帮助。

我试图避免重新安装 Windows,因为这会影响一整天的工作效率。

任何帮助是极大的赞赏。

请从提升的 powershell 会话运行:Unregister-ScheduledTask FabricCounters。

这将解决问题。

我看到了非常相似的行为,重新安装了结构 SDK 和运行时、删除计划任务、删除 SfDevCluster 内容等,但都没有奏效。

我在事件日志中看到重复的 Docker 错误,当我尝试卸载适用于 Windows SF 的 Docker 时,我立即醒了过来。 我不知道两者之间的交互是什么,但值得检查一下你是否都安装了。

为了搜索者的利益,这是我用来修复本地集群的Powershell脚本。 它改编自 github 上的此问题修复程序

#
# WARNING: YOU MUST STOP 'SERVICE FABRIC HOST SERVICE' IN SERVICES FIRST
#          IF THE APPLICATION IS STUCK IN 'STARTING', RESTART YOUR MACHINE
# 
# This script will completely reset the local cluster
# 

Remove-Item 'C:\SfDevCluster' -Recurse -Force -ErrorAction Stop 

New-Item -ItemType directory -Path 'C:\SfDevCluster'

Set-Location 'C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup'

./DevClusterSetup.ps1 -PathToClusterDataRoot 'C:\SfDevCluster\Data' -PathToClusterLogRoot 'C:\SfDevCluster\Log'

C:\\ 驱动器对我来说已满。 容易忽视的事情。

确保你的硬盘没有满......这阻止了我的启动。 清除一些日志后,立即启动。

似乎某些与集群相关的设置在您的机器上进入了不一致的状态。 这将需要查看 Service Fabric 跟踪并找出实际原因。 我是 Service Fabric 团队的一名工程师。 如果您可以将位于 harahma[at]microsoft[dot]com 的 Service Fabric 跟踪(来自日志文件夹)通过电子邮件发送给我,我可以帮助您。

如果您熟悉在 Azure 上记录支持票,我建议您也这样做,以便我们可以跟踪此问题以解决问题。 与此同时,我将继续努力解决这个问题,看看我们如何才能解除对您的封锁。

我知道这是一个古老的问题,但也许我的痛苦可以帮助其他人。

如果 Service Fabric 尝试启动时 Windows 防火墙服务未运行,您将收到类似的错误。

检查并确保 Windows 防火墙服务设置为自动并正在运行。

我尝试了多种选择来解决此问题,例如

  1. 卸载运行时和 SDK - 重新安装。
  2. 使用 powershell 命令删除了集群,并使用相同的设置进行了设置,还有更多但不幸的是,没有一个对我有用

最后卸载了 Docker 桌面,突然问题得到了解决。

这很奇怪,不确定 docker desktop 是如何运行 FabricHostSvc 服务的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM