Service Fabric应用程序包部署操作超时异常

时间:2017-02-18 12:41:30

标签: azure azure-service-fabric

我有服务结构集群,在3个系统中创建了3个节点并且它是相互连接的。我能够连接每个节点。这些节点在Windows服务器中创建。这些Windows Server(VM)是本地的。

手动我试图将我的软件包部署到我的集群/节点之一,我得到操作超时异常。我已使用以下命令执行部署。

Service Fabric Power shell命令:

Copy-ServiceFabricApplicationPackage -ApplicationPackagePath 'c:\sample\etc'       -ApplicationPackagePathInImageStore 'abc.app.portaltype'

执行上述命令后,运行2-3分钟并抛出操作超时异常。我的包大小几乎是250 MB,我的包中存在大约15000个文件。之后我在上面的命令中明确地传递了一个额外的参数-TimeOutSec到600(10分钟),然后它成功执行并复制到服务结构imagestore。

Register-ServiceFabricApplicationType -ApplicationPathInImageStore 'abc.app.portaltype'

执行Copy-ServiceFabricApplicationPackage命令后,我执行了上面的Register-ServiceFabricApplicationType命令来注册我的集群。但它也抛出操作超时异常然后我已经将额外参数-TimeOutSec传递给600( 10分钟)明确在上面的命令,但没有运气它抛出相同的操作超时异常

由于包中没有文件,只是为了确保这些操作超时问题。我已经创建了简单的空服务结构asp.net核心应用程序并创建了包并尝试使用上面的命令在同一服务器中部署,它以小数秒部署,并且它工作顺利。

任何人都知道如何克服服务架构操作超时问题?

如果包中包含大量文件,如何处理操作超时问题?

非常感谢任何帮助/建议。

谢谢,

1 个答案:

答案 0 :(得分:0)

如果此时间超过10分钟默认值,则可能是以下问题之一:

  1. 大型应用程序包(> 100 MB)
  2. 慢速网络连接
  3. 应用程序包中的大量文件(> 1000s)。
  4. 以下变通方法可以为您提供帮助。

    将以下设置添加到群集配置中:

    "fabricSettings": [ { "name": "NamingService", "parameters": [ { "name": "MaxOperationTimeout", "value": "3600" }, ] } ]

    另外添加:

    "fabricSettings": [ { "name": "EseStore", "parameters": [ { "name": "MaxCursors", "value": "32768" }, ] } ]

    目前正在推出一些其他功能。要使这些功能存在且功能正常,您需要确保客户端至少为2.4.28,并且群集的运行时至少为5.4.157。如果您保持最新状态,这些应该已经存在于您的环境中。

    对于寄存器,您可以指定-Async标志,该标志将异步处理上载,从而将超时的需要减少到发送命令所需的时间,而不是应用程序包。您还可以使用Get-ServiceFabricApplicationType查询注册状态。 5.5修复了这些命令的一些问题,因此如果它们不能为您工作,您将不得不等待该版本到达您的环境。