无法在 Windows Server 2016 Standard 上创建开发 Service Fabric 集群

Failed to Create Development Service Fabric Cluster on Windows Server 2016 Standard

我正在尝试在 Windows Server 2016 Standard 上创建本地开发(不安全)Service Fabric 集群。我已按照 this article 中的说明进行操作。但是,我遇到了一个相当有趣的错误,找不到任何可以帮助我解决此问题的方法。

FabricHostSvc was not installed by FabricInstallerSvc on machine localhost. FabricSetup may have failed. CreateCluster Error: System.AggregateException: One or more errors occurred. ---> System.Fabric.FabricServiceNotFoundExc eption: FabricHostSvc was not installed by FabricInstallerSvc on machine localhost. FabricSetup may have failed. at Microsoft.ServiceFabric.DeploymentManager.DeploymentManagerInternal.StartAndValidateInstallerServiceCompletion(Str ing machineName, ServiceController installerSvc) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object ) --- 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 System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallel Options, Action
1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOption s, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithE verything, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, Action1 body) at Microsoft.ServiceFabric.DeploymentManager.DeploymentManagerInternal.RunFabricServices(List1 machines, FabricPacka geType fabricPackageType) at Microsoft.ServiceFabric.DeploymentManager.DeploymentManagerInternal.<CreateClusterAsyncInternal>d__7.MoveNext() ---> (Inner Exception #0) System.Fabric.FabricServiceNotFoundException: FabricHostSvc was not installed by FabricInstall erSvc on machine localhost. FabricSetup may have failed. at Microsoft.ServiceFabric.DeploymentManager.DeploymentManagerInternal.StartAndValidateInstallerServiceCompletion(Str ing machineName, ServiceController installerSvc) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )<---

Cleaning up faulted installation. FabricRoot not found in registry of target machine localhost. Create Cluster failed. For more information please look at traces in FabricLogRoot. Create Cluster failed with exception: System.AggregateException: One or more errors occurred. ---> System.AggregateExcep tion: One or more errors occurred. at Microsoft.ServiceFabric.DeploymentManager.DeploymentManagerInternal.d__7.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 Microsoft.ServiceFabric.DeploymentManager.DeploymentManager.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 cleanupOnFailure) ---> (Inner Exception #0) System.AggregateException: One or more errors occurred. at Microsoft.ServiceFabric.DeploymentManager.DeploymentManagerInternal.d__7.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 Microsoft.ServiceFabric.DeploymentManager.DeploymentManager.d__0.MoveNext()<---

有没有人遇到过这个错误并修复它?这个错误是如何解决的?

旁注:收到此错误后,我 运行 CleanFabric PowerShell 脚本并从中删除了所有 Service Fabric 文件服务器并再次尝试 运行 安装,但出现相同的错误消息。

此外,机器上没有安装 Service Fabric SDK(您将在本地开发机器上使用的那些)。其原因是由于 Microsoft 声明的官方先决条件如下所示。

Prerequisites for each machine that you want to add to the cluster:

 1. A minimum of 16 GB of RAM is recommended. 
 2. A minimum of 40 of GB available disk space is recommended. 
 3. A 4 core or greater CPU is recommended. 
 4. Connectivity to a secure network or networks for all machines. 
 5. Windows Server 2012 R2 or Windows Server 2012 (you need to
    have KB2858668 installed). 
 6. .NET Framework 4.5.1 or higher, full install. 
 7. Windows PowerShell 3.0. The RemoteRegistry service should be running on all the machines.

The cluster administrator deploying and configuring the cluster must have administrator privileges on each of the machines. You cannot install Service Fabric on a domain controller.

我忍不住觉得有一些明显的缺失,但我非常仔细地关注了文档,所以这很令人困惑。

Service Fabric 驱动程序存在签名问题,导致无法在 Windows Server 2016 和 Windows 10 周年纪念版上安装它们。请等待下一个版本或尝试5.2版本。