无法在另一台计算机上发布到服务结构本地群集

时间:2016-10-22 13:41:05

标签: visual-studio-2015 azure-service-fabric

我今天在我的开发机器上安装了一个本地集群来玩游戏。但是,当上传一些来宾exe时,结构崩溃了。我甚至测试过只加载简单的旧notepad.exe,但唉同样的崩溃。 作为进一步的测试,我将notepad.exe推送到公共聚会群集,它运行得很好。 This post给出了类似的错误,根据我怀疑这是Windows 7问题的评论。

接下来的想法是在新的Windows服务器VM上安装本地群集,并尝试发布到该服务器。但我也在那里撞到了另一堵墙。我可以连接到"遥控器"集群的Web管理界面,我可以看到所有Fabric进程在端口19000上运行和侦听,但VS 2015在发布期间拒绝连接。 我禁用了防火墙,认为这是问题所在,而且已经&" pinged"各种端口验证。有些人回应(例如19080年)而不是19000年。

想法?

更新:在远程计算机上运行powershell connect命令。

Update2:我已经安装了"本地群集"在另外3台机器上,所有机器都做同样的事情

Update3:使用netsh命令在远程计算机上创建一个端口,从18090路由到19000.现在我可以通过powershell从本地计算机连接到远程计算机的本地簇。 (我还注意到,如果远程计算机上的用户名/密码不在同一个域中,则它们必须相同) Visual Studio现在也可以连接,但powershell脚本错误中途,这里是输出。

*>将应用程序复制到图像存储... 复制应用程序包成功 注册申请类型...... Register-ServiceFabricApplicationType:Application Manifest文件 ' FabricApp2Type \ ApplicationManifest.xml'在商店里找不到。 在C:\ Program Files \ Microsoft SDKs \ Service Fabric \ Tools \ PSModule \ ServiceFabricS DK \ Publish-NewServiceFabricApplication.ps1:244 char:9 + Register-ServiceFabricApplicationType -ApplicationPathInImageStore $ appl ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~     + CategoryInfo:ResourceUnavailable:(Microsoft.Servi ... usterCon    nection:ClusterConnection)[Register-ServiceFabricApplicationType],FileNo
  tFoundException     + FullyQualifiedErrorId:RegisterApplicationTypeErrorId,Microsoft.Service    Fabric.Powershell.RegisterApplicationType

完成执行脚本' Deploy-FabricApplication.ps1'。*

我现在已经在远程计算机上安装了visual studio的本地副本,并使用它来运行我的测试,因为我的Windows 7计算机不会。

虽然我现在的努力是绕过Win 7的错误,但我可以看到有#34;本地集群"在其他机器上进行开发和调试。比在Azure中建立开发群集要容易得多,并且比推送到公共Party群集更安全。我希望SF团队中的某个人已经在努力允许VS进行远程部署和调试。

如果有人就如何解决问题提出建议,请发帖。我也是快乐的测试想法。

3 个答案:

答案 0 :(得分:1)

我在DevTest实验室中托管了几个小型机器开发集群,它们运行良好。

我认为关键的区别在于我使用Service Fabric Standalone安装程序而不是SDK。我试图让SDK版本工作,你找到了相同的结果。

这些是我在内部分发的指令,用于在DevTest实验室中创建一台机器的“微集群”。

  1. 从Azure站点下载Service Fabric独立包 和解压缩 https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-creation-for-windows-server/
  2. 编辑文件ClusterConfig.Unsecure.DevCluster
  3. 使用本地计算机的IP地址或主机名更新3个ip地址条目 - “iPAddress”:“10.0.0.5”
  4. 使用PowerShell命令创建群集(使用admin)。\ CreateServiceFabricCluster.ps1 -ClusterConfigFilePath
    。\ ClusterConfig.Unsecure.DevCluster.json -AcceptEULA
  5. 通过打开浏览器验证群集创建完成 - http://hostname:19080
  6. 在本地计算机上打开发布端口(如果使用普通ARM计算机而不是dev-test,则打开端点防火墙)

答案 1 :(得分:1)

我们遇到了与Windows 7和来宾可执行文件相同的问题。在Azure或Windows 10上运行工作正常。我们最终将guest虚拟机可执行文件包装在无状态服务中,这允许我们在Windows 7上本地运行和调试。这最终成为一个更好的解决方案,因为当时,guest虚拟机可执行文件与无状态服务有一些限制。 / p>

答案 2 :(得分:0)

使用SDK创建本地群集仅适用于一个盒子开发,您无法远程发布应用程序。要创建远程本地群集,请使用独立包(根据Chuck Duffy的建议)