2016-10-22 95 views
0

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

所以接下来的想法是在新的Windows服务器虚拟机上安装本地集群,并尝试发布到此。但我也在那里打了另一堵墙。我可以连接到“远程”群集的Web管理界面,并且我可以看到所有Fabric进程在端口19000上运行和侦听,但VS 2015在发布期间拒绝连接。 我禁用了防火墙,认为这是问题所在,并且“ping通”了各种端口以进行验证。有些回应(如19080),但不是19000.

想法?

更新:在远程机器上运行powershell connect命令工作。

UPDATE2:我已经安装了“本地集群”到其他3台机器和所有做同样的事情

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

*>复制应用程序店面形象... 复制应用程序包成功 注册应用程序类型... 注册-ServiceFabricApplicationType:应用程序清单文件 “FabricApp2Type \ ApplicationManifest.xml”没有在店里找到。 在C:\ Program Files文件\微软的SDK \服务布料\工具\ PSModule \ ServiceFabricS DK \发布-NewServiceFabricApplication.ps1:244字符:9 +注册-ServiceFabricApplicationType -ApplicationPathInImageStore $申请... + ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo:ResourceUnavailable: ServiceFabricApplicationType],文件号
tFoundException + FullyQualifiedErrorId:RegisterApplicationTypeErrorId,Microsoft.Service Fabric.Powershell.RegisterApplicationType

完成执行脚本“部署-FabricApplication.ps1”。*

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

虽然我现在正在努力解决Win 7的bug,但我可以看到在其他机器上有“本地群集”以进行开发和调试的好处。比在Azure中站立开发集群要容易得多,而且比推入公共集群更安全。我希望SF团队中的某个人已经在努力让VS进行远程部署和调试。

如果任何人有关于如何解决问题的建议,请发帖。我也很高兴测试想法。

+0

你可以分享你的自定义发布配置文件,您添加到VS2015 – jimpaine

+0

我所做的只是添加一个'ConnectionEndpoint =“MYSERVER:19000”'现有的发布profile.If我改变MYSERVER为localhost然后在本地出版的作品就好了。 – OrdinaryOrange

回答

1

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

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

这些是我在内部发布的用于在DevTest实验室中创建单机“微型群集”的说明。

  1. 下载服务织物独立包从Azure的网站
    和解压 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命令创建群集(使用管理员)。\ CreateServiceFabricCluster.ps1 --lusterConfigFilePath
    。\ ClusterConfig.Unsecure.DevClus ter.json -AcceptEULA
  5. 验证群集创建通过打开浏览器完成 - http://hostname:19080
  6. (如果使用一般的ARM机器,而不是开发测试和端点防火墙)
+0

如果我将ip设置为从whatismyip.com获得的外部IP地址,则群集创建将失败,并显示消息“机器'94 .xxx.xxx.xx'在端口445上无法访问。”。该端口在Windows防火墙中打开。 –

0

创作的地方开发布本地计算机上的端口使用SDK的群集仅适用于一个盒子开发,您无法远程发布应用程序。要创建远程本地集群,请使用独立软件包(如Chuck Duffy所建议的)

1

我们遇到了与Windows 7和来宾可执行文件相同的问题。在Azure中运行或在Windows 10上运行良好。我们最终将客户可执行文件封装在一个无状态服务中,该服务允许我们在Windows 7上本地运行和调试。这最终成为一个更好的解决方案,因为当时,客户可执行文件对无状态服务有几个限制。

相关问题