Azure Service Fabric 5.1.150.9590 本地集群

Azure Service Fabric 5.1.150.9590 on-premise cluster

我正在尝试在 5 Windows Server 2012 R2 VM 上使用 Azure Service Fabric V5.1.150.9590 部署本地 5 节点集群。

使用 ClusterConfig.Unsecure.json 作为模式,我得到以下异常:

    Create Cluster failed with exception: System.AggregateException: One or more errors occurred. ---> System.ArgumentExcept
    ion: Primary node type node count is not sufficient for reliability level Bronze; You have total primary node type nodes
    : 1; the required seed node count for this reliability level is 3.
       at System.Fabric.WRPServiceCommon.Common.DeployAnywhereSettingsValidator.ValidatNodeTypes()
       at System.Fabric.WRPServiceCommon.Common.DeployAnywhereSettingsValidator.Validate()
       at System.Fabric.JsonImpl.ManifestConverter.ConstructClusterManifestBuilder(String jsonClusterConfigPath)
       at System.Fabric.JsonImpl.ManifestConverter.System.Fabric.JsonWrapper.IManifestConverter.ConvertFromJsonToXml(String jsonClusterConfigPath)
       at System.Fabric.DeploymentManager.<CreateClusterAsyncInternal>d__a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Fabric.DeploymentManager.<CreateClusterAsync>d__0.MoveNext()
       --- End of inner exception stack trace ---
       at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
       at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
       at Microsoft.ServiceFabric.Powershell.ClusterCmdletBase.NewCluster(String clusterConfigurationFilePath, String fabric PackageSourcePath, Boolean rollbackOnFailure)
    ---> (Inner Exception #0) System.ArgumentException: Primary node type node count is not sufficient for reliability level  Bronze; You have total primary node type nodes: 1; the required seed node count for this reliability level is 3.
       at System.Fabric.WRPServiceCommon.Common.DeployAnywhereSettingsValidator.ValidatNodeTypes()
       at System.Fabric.WRPServiceCommon.Common.DeployAnywhereSettingsValidator.Validate()
       at System.Fabric.JsonImpl.ManifestConverter.ConstructClusterManifestBuilder(String jsonClusterConfigPath)
       at System.Fabric.JsonImpl.ManifestConverter.System.Fabric.JsonWrapper.IManifestConverter.ConvertFromJsonToXml(String jsonClusterConfigPath)
       at System.Fabric.DeploymentManager.<CreateClusterAsyncInternal>d__a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Fabric.DeploymentManager.<CreateClusterAsync>d__0.MoveNext()<---

我已无计可施,无法完成这项工作。有人有 ClusterConfig.json 与 Azure Service Fabric V5.1.150.9590 一起使用的示例吗?

有关 ClusterConfig.json 的任何文档链接也将有所帮助。

几天前我遇到了同样的问题。我切换到最新的 SF 版本 5.1.150.9590,但使用了旧的 clusterConfig.json,其中不包含 reliabilityLevelisPrimary[=20= 的值].但是通过以下配置,我设法设置了一个集群。请注意,这是一个三节点集群,其中一个 nodeType,标记为主。所以所有三个节点都是主节点。

{
   "name":"SampleCluster",
   "clusterManifestVersion":"1.0.0",
   "apiVersion":"2015-01-01-alpha",
   "nodes":[
      {
         "nodeName":"vm1",
         "iPAddress":"10.0.10.12",
         "nodeTypeRef":"NodeType0",
         "faultDomain":"fd:/dc1/fd1",
         "upgradeDomain":"UD0"
      },
      {
         "nodeName":"vm2",
         "iPAddress":"10.0.11.12",
         "nodeTypeRef":"NodeType0",
         "faultDomain":"fd:/dc1/fd2",
         "upgradeDomain":"UD1"
      },
      {
         "nodeName":"vm3",
         "iPAddress":"10.0.12.12",
         "nodeTypeRef":"NodeType0",
         "faultDomain":"fd:/dc1/fd3",
         "upgradeDomain":"UD2"
      }
   ],
   "diagnosticsFileShare": {
        "etlReadIntervalInMinutes": "5",
        "uploadIntervalInMinutes": "10",
        "dataDeletionAgeInDays": "7",
        "etwStoreConnectionString": "file:c:\ProgramData\SF\FileshareETW",
        "crashDumpConnectionString": "file:c:\ProgramData\SF\FileshareCrashDump",
        "perfCtrConnectionString": "file:c:\ProgramData\SF\FilesharePerfCtr"
    },
   "properties":{
       "reliabilityLevel": "Bronze",
        "nodeTypes": [
          {
            "name": "NodeType0",
            "clientConnectionEndpointPort": "19000",
            "clusterConnectionEndpoint": "19001",
            "httpGatewayEndpointPort": "19080",
            "applicationPorts": {
                "startPort": "20001",
                "endPort": "20031"
            },
            "ephemeralPorts": {
                "startPort": "20032",
                "endPort": "20062"
            },
            "isPrimary": true
          }
      ],
      "fabricSettings": [
        {
          "name": "Setup",
          "parameters": [
            {
                "name": "FabricDataRoot",
                "value": "C:\ProgramData\SF"
            },
            {
                "name": "FabricLogRoot",
                "value": "C:\ProgramData\SF\Log"
            }
          ]
        }
      ]
   }
}

[免责声明] 准确地说:通过上述配置,我设法解决了特定错误。但是我还有其他一些问题,这些问题似乎与这个问题无关:Error creating an on-premise multi-machine Service Fabric Cluster