我正尝试在5台Windows Server 2012 R2虚拟机上使用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的文档链接也会有所帮助。
答案 0 :(得分:3)
几天前我遇到了同样的问题。我切换到最新的SF版本5.1.150.9590,但使用了旧的clusterConfig.json,它不包含 reliabilityLevel 和 isPrimary 的值。但是通过以下配置,我设法设置了一个集群。请注意,这是一个三节点群集,其中一个 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