【问题标题】:Azure Service Fabric 5.1.150.9590 on-premise clusterAzure Service Fabric 5.1.150.9590 本地集群
【发布时间】:2016-10-23 23:46:45
【问题描述】:

我正在尝试在 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()<---

我已经无计可施了。有人有与 Azure Service Fabric V5.1.150.9590 一起使用的 ClusterConfig.json 示例吗?

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

【问题讨论】:

  • 这个 JSON 文件中的“nodes”部分有多少个节点?
  • @cassandrad 我定义了 5 个节点

标签: azure-service-fabric


【解决方案1】:

几天前我也遇到了同样的问题。我切换到最新的 SF 版本 5.1.150.9590,但使用了旧的 clusterConfig.json,它不包含 reliabilityLevelisPrimary 的值。但是通过以下配置,我设法设置了一个集群。请注意,这是一个三节点集群,有一个 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

【讨论】:

  • 我复制了你的 json 文件并添加了 2 个节点;成功创建了我的集群。谢谢。
  • 如果这解决了您的问题,您应该接受答案。谢谢。
  • Azure Service Fabric V5.1.156.9590 现在包括 ClusterConfig.Unsecure.MultiMachine.json,它与 @Henrik 提供的 json 相同
猜你喜欢
  • 2016-09-28
  • 2018-10-08
  • 2019-03-21
  • 2017-08-13
  • 2018-10-27
  • 2019-03-04
  • 2021-04-18
  • 2021-08-22
  • 2018-12-31
相关资源
最近更新 更多