繁体   English   中英

Azure Service Fabric:无法运行本地 Service Fabric 群集

[英]Azure Service Fabric: cannot run local Service Fabric Cluster

我在使用 Azure Service Fabric 时遇到问题。

我已经安装了它(在 Windows 7 上),正如https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-get-started/中所说。

然后我尝试从 Visual Studio 2015 运行 Service Fabric 应用程序。我收到错误“ Connect-ServiceFabricCluster:无法访问群集端点,请检查是否存在连接/防火墙/DNS 问题”。

这是该运行的填充日志:

1>------ Build started: Project: Application2, Configuration: Debug x64 ------
2>------ Deploy started: Project: Application2, Configuration: Debug x64 ------
-------- Package started: Project: Application2, Configuration: Debug x64 ------
  Application2 -> c:\temp\Application2\Application2\pkg\Debug
-------- Package: Project: Application2 succeeded, Time elapsed: 00:00:01.7361084 --------
2>Started executing script 'Set-LocalClusterReady'.
2>Import-Module 'C:\Program Files\Microsoft SDKs\Service Fabric\Tools\Scripts\DefaultLocalClusterSetup.psm1'; Set-LocalClusterReady
2>--------------------------------------------
2>Local Service Fabric Cluster is not setup...
2>Please wait while we setup the Local Service Fabric Cluster. This may take few minutes...
2>
2>Using Cluster Data Root: C:\SfDevCluster\Data
2>Using Cluster Log Root: C:\SfDevCluster\Log
2>
2>Create node configuration succeeded
2>Starting service FabricHostSvc. This may take a few minutes...
2>
2>Waiting for Service Fabric Cluster to be ready. This may take a few minutes...
2>Local Cluster ready status: 4% completed.
2>Local Cluster ready status: 8% completed.
2>Local Cluster ready status: 12% completed.
2>Local Cluster ready status: 17% completed.
2>Local Cluster ready status: 21% completed.
2>Local Cluster ready status: 25% completed.
2>Local Cluster ready status: 29% completed.
2>Local Cluster ready status: 33% completed.
2>Local Cluster ready status: 38% completed.
2>Local Cluster ready status: 42% completed.
2>Local Cluster ready status: 46% completed.
2>Local Cluster ready status: 50% completed.
2>Local Cluster ready status: 54% completed.
2>Local Cluster ready status: 58% completed.
2>Local Cluster ready status: 62% completed.
2>Local Cluster ready status: 67% completed.
2>Local Cluster ready status: 71% completed.
2>Local Cluster ready status: 75% completed.
2>Local Cluster ready status: 79% completed.
2>Local Cluster ready status: 83% completed.
2>Local Cluster ready status: 88% completed.
2>Local Cluster ready status: 92% completed.
2>Local Cluster ready status: 96% completed.
2>Local Cluster ready status: 100% completed.
2>WARNING: Service Fabric Cluster is taking longer than expected to connect.
2>
2>Waiting for Naming Service to be ready. This may take a few minutes...
2>Connect-ServiceFabricCluster : **No cluster endpoint is reachable, please check 
2>if there is connectivity/firewall/DNS issue.**
2>At C:\Program Files\Microsoft SDKs\Service 
2>Fabric\Tools\Scripts\ClusterSetupUtilities.psm1:521 char:12
2>+     [void](Connect-ServiceFabricCluster @connParams)
2>+            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2>    + CategoryInfo          : InvalidOperation: (:) [Connect-ServiceFabricClus 
2>   ter], FabricException
2>    + FullyQualifiedErrorId : TestClusterConnectionErrorId,Microsoft.ServiceFa 
2>   bric.Powershell.ConnectCluster
2> 
2>Naming Service ready status: 8% completed.
2>Naming Service ready status: 17% completed.
2>Naming Service ready status: 25% completed.
2>Naming Service ready status: 33% completed.
2>Naming Service ready status: 42% completed.
2>Naming Service ready status: 50% completed.
2>Naming Service ready status: 58% completed.
2>Naming Service ready status: 67% completed.
2>Naming Service ready status: 75% completed.
2>Naming Service ready status: 83% completed.
2>Naming Service ready status: 92% completed.
2>Naming Service ready status: 100% completed.
2>WARNING: Naming Service is taking longer than expected to be ready...
2>Local Service Fabric Cluster created successfully.
2>--------------------------------------------------
2>Launching Service Fabric Local Cluster Manager...
2>You can use Service Fabric Local Cluster Manager (system tray application) to manage your local dev cluster.
2>Finished executing script 'Set-LocalClusterReady'.
2>Time elapsed: 00:07:01.8147993
2>The PowerShell script failed to execute.
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========

这对我有用,我偶然发现了 MSDN 论坛上的解决方案

很可能您的 C++ 运行时已损坏,需要重新安装。 您必须手动执行 vcredist_x64.exe,它可以在以下位置找到

C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\vcredist_x64.exe

完成后,您可以选择是否重新启动机器,我选择重新启动它然后运行以下命令

C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\CleanCluster.ps1
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1

我希望这会有所帮助!

我不得不断开我的 VPN 与办公室的连接以及 Varun 上面显示的指示。

感谢@Varun 分享这个!!

一旦我连接了我的 VPN,我就无法再次运行系统。

希望这可以帮助某人。

在尝试了许多解决方案后,我发现这个GitHub 问题有助于在设置配置中添加一个条目,然后我不得不重新创建集群。

配置文件

C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\OneNode\ClusterManifestTemplate.json:

要添加的条目

{
  "name": "FabricContainerAppsEnabled",
  "value": "false"
}

如果 C++ 运行时不能解决您的问题,您可以将解决方案缩小到防火墙问题。 由于安全问题,网络不允许用户运行您可以在 services.msc 中检查的FabricHostSvc服务。 如果您只能无限制地禁用防火墙/更改网络,则问题应自行解决。

如果您能够启动 FabricHostSvc,您的问题将得到解决。

希望这有帮助......

默认情况下,Service Fabric 开发实例正在运行以仅侦听环回地址(只需在 CMD 中运行netstat -an命令即可查看哪些端口已打开):

在此处输入图片说明

正如您在屏幕上方看到的,我的 SF 实例正在侦听端口 19000 的所有地址(可用的外部连接)

默认情况下,端口 19000 仅侦听环回地址 (127.0.0.1)

[::1]:19000

您所需要做的就是将您的 IPAddressOrFQDN 从 localhost 更改为您的 IPv4 外部地址。 吊钩应该在清单文件中可见:

在此处输入图片说明

Windows 7 中的所有 SF 集群配置文件都位于C:\\SfDevCluster\\Data 在那里您可以找到许多 XML 文档,例如:

  • 集群清单
  • 结构主机设置

要更改 IPAddressOrFQDN,我已将所有出现的“localhost”替换为“my.ip.address.here”。 要修改的文件也比较深:

  • C:\\SfDevCluster\\Data\\_Node_0\\Fabric
  • C:\\SfDevCluster\\Data\\_Node_0\\Fabric\\Fabric.Data
  • C:\\SfDevCluster\\Data\\_Node_0\\Fabric\\Fabric.Config.0.0
  • 等等

在此处输入图片说明

在更改停止您的集群之前:

在此处输入图片说明

毕竟再次运行它:

在此处输入图片说明


还有另一种 - 更好的方法。 您可以更改目录C:\\Program Files\\Microsoft SDKs\\Service Fabric\\ClusterSetup生成脚本。

集群重置后,此设置将丢失。 请记住,您自行承担风险,开发版本是不安全的,不应在生产环境中使用。

如果挂起后您无法连接到 SF - 确保防火墙没有阻止端口(您可以暂时禁用防火墙)

嘿第一个答案(@ Varun Rathore给出)对我有用 但是当我尝试在本地服务结构上部署容器时,一次又一次地从 1 节点集群切换到 5 节点集群,这个错误经常出现。 所以我所做的是以管理员身份打开powershell并按照接下来的 2 个步骤进行操作。

  1. 首先转到以下路径

    cd "C:\\Program Files\\Microsoft SDKs\\Service Fabric\\ClusterSetup"

  2. 第二次运行这两个文件

    .\\CleanCluster.ps1

    .\\DevClusterSetup.ps1

这将在您的本地机器上设置 1 个节点集群。 您可以从服务结构集群管理器执行此操作,但它对我不起作用。 每次修复 vcredist_x64.exe 文件并重新启动计算机(Windows 10 Pro)都令人沮丧。 这对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM