如何在 Service Fabric 中安装批处理文件

Posted

技术标签:

【中文标题】如何在 Service Fabric 中安装批处理文件【英文标题】:How To Install Batch File In Service Fabric 【发布时间】:2017-06-10 07:22:04 【问题描述】:

我创建了一个示例演示 Windows 服务,该服务在定期间隔后发送电子邮件,以及一个带有来宾可执行文件的服务结构应用程序,我将此 Windows 服务 (.exe) 用作来宾可执行文件。服务启动后,我正在使用批处理文件在节点上安装服务,并且我在设置入口点部分(即服务清单文件的(启动部分))中给出了批处理文件的路径。部署应用程序后,我收到错误为“不健康的部署应用程序”。我的最终目标是在服务启动或运行时在本地服务结构集群的节点上安装来宾可执行文件(Windows 服务)。我不明白如何做到这一点,因为我认为设置入口点在服务代码之前执行批处理文件启动。

请帮我解决这个问题。

请参阅随附的屏幕截图以获取帮助。

谢谢

【问题讨论】:

您是否已将 ETW 日志记录设置到 Azure Log Analytics/OMS 或 Elastic 等工具?记录的事件中可能应该有更多详细信息。 我已在服务清单中启用控制台重定向,并搜索了部署应用程序但日志文件夹为空的登录节点。 控制台重定向只会将您的来宾可执行文件写入控制台的任何内容发送到日志文件。如果它无法启动服务和 .exe,则说明该文件夹中没有记录任何内容。我正在考虑 Service Fabric 本身在尝试启动服务等时产生的 ETW 事件。如果您尚未设置 ETW 日志记录以转到任何外部源(如 Azure 存储表),那么您可以 RDP 到失败的节点并且查看 Windows 中的 EventViewer 并查找提供程序 cbd93bc2-71e5-4566-b3a7-595d8eeca6e8(即 Microsoft-ServiceFabric 【参考方案1】:

据我了解,我认为这不是 Service Fabric 的一个很好的用例。如果您的目标是在一组计算机上安装 Windows 服务,那不是 Service Fabric 的用途。 Windows 服务和 Service Fabric 服务以不同的方式工作并服务于不同的目的。

Service Fabric 在一组 计算机上启动和管理您的 EXE。它适用于分布式应用程序。

Windows 服务在单个 机器上运行和管理您的 EXE。它用于在 Windows 上运行后台进程。

【讨论】:

是的,我会说也许可以将其作为 VMSS VM 扩展来实现

以上是关于如何在 Service Fabric 中安装批处理文件的主要内容,如果未能解决你的问题,请参考以下文章

通过Azure DevOps部署Service Fabric并在Octopus中管理环境变量

在eclipse中安装go编辑器阅读fabric代码

Fabric1.4 在自己项目中安装区块链浏览器blockchain-explorer

Fabric1.4 在自己项目中安装区块链浏览器blockchain-explorer

如何在Android模拟器中安装Google Play Service

Windows ServiceWindows Service在Visual Studio中安装调试