无法发布到另一台机器上的服务结构本地集群
Cant publish to service fabric local cluster on another machine
我今天在我的开发机器上安装了一个本地集群来玩一玩。但是,当上传一些来宾 exe 时,结构会崩溃。我什至只测试了加载简单的旧 notepad.exe,但是同样的崩溃。
作为进一步的测试,我将 notepad.exe 推送到 public 派对集群,它 运行 就好了。 This post 给出了类似的错误,根据评论我怀疑这是一个 Windows 7 问题。
所以下一个想法是在新的 Windows 服务器 VM 上安装本地集群,并尝试发布到该集群。但我在那里也遇到了另一堵墙。我可以连接到 "remote" 集群的 Web 管理界面,我可以看到所有 Fabric 进程 运行 正在监听端口 19000,但 VS 2015 在发布期间拒绝连接。
我认为那是问题所在并禁用了防火墙,并有 "pinged" 个不同的端口来验证。有的响应(比如19080)19000不响应
想法?
更新: 运行 远程机器上的 powershell 连接命令有效。
Update2: 我已经将 "local cluster" 安装到其他 3 台机器上,并且都做完全相同的事情
Update3: 使用 netsh 命令在远程机器上创建了一个端口转发以从 18090 路由到 19000。现在我可以通过 powershell 从我的本地机器连接到远程机器的本地集群。 (我还注意到,如果远程计算机上的 username/password 不在同一个域中,则它们需要相同)
Visual Studio 现在也可以连接了,但是 powershell 脚本中途出错,这里是输出。
*>正在将应用程序复制到图像存储...
复制应用包成功
正在注册应用程序类型...
Register-ServiceFabricApplicationType:应用程序清单文件
'FabricApp2Type\ApplicationManifest.xml' 未在商店中找到。
在 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricS
DK\Publish-NewServiceFabricApplication.ps1:244 char:9
+注册-ServiceFabricApplicationType-ApplicationPathInImageStore
$申请...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ 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 错误,但我可以看到在其他机器上使用 "local clusters" 进行开发和调试的好处。比必须在 Azure 中建立开发集群容易得多,并且比推送到 public 派对集群更安全。我希望 SF 团队中的某人已经在致力于允许 VS 远程部署和调试。
如果有人对如何解决目前的问题有任何建议,请post。我也很高兴测试想法。
我在开发测试实验室中托管了几个小型单机开发集群,它们运行良好。
我认为主要区别在于我使用的是 Service Fabric Standalone 安装程序而不是 SDK。我试图让 SDK 版本正常工作,结果与您发现的相同。
这些是我在内部分发的说明,用于在 DevTest 实验室中创建一台机器 'micro cluster'。
- 从 Azure 站点下载 Service Fabric 独立包
并解压
https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-creation-for-windows-server/
- 编辑文件ClusterConfig.Unsecure.DevCluster
- 用本地机器的 IP 地址或主机名更新 3 个 IP 地址条目 ex - "iPAddress": "10.0.0.5"
- 使用 PowerShell 命令创建集群(使用管理员).\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath
.\ClusterConfig.Unsecure.DevCluster.json -接受最终用户许可协议
- 通过打开浏览器验证集群创建完成 - http://hostname:19080
- 在本地机器上打开发布端口(如果使用普通 ARM 机器而不是开发测试,则打开端点防火墙)
使用SDK创建本地集群仅供单机开发,不能远程向其发布应用。要创建远程本地集群,请使用独立包(如 Chuck Duffy 所建议)
我们 运行 遇到与 Windows 7 和来宾可执行文件相同的问题。 运行 在 Azure 或 Windows 10 上工作正常。我们最终将来宾可执行文件包装在无状态服务中,这使我们能够 运行 并在 Windows 7 上进行本地调试。这最终也是一个整体上更好的解决方案,因为当时来宾可执行文件具有与无状态服务相比的几个限制。
我今天在我的开发机器上安装了一个本地集群来玩一玩。但是,当上传一些来宾 exe 时,结构会崩溃。我什至只测试了加载简单的旧 notepad.exe,但是同样的崩溃。 作为进一步的测试,我将 notepad.exe 推送到 public 派对集群,它 运行 就好了。 This post 给出了类似的错误,根据评论我怀疑这是一个 Windows 7 问题。
所以下一个想法是在新的 Windows 服务器 VM 上安装本地集群,并尝试发布到该集群。但我在那里也遇到了另一堵墙。我可以连接到 "remote" 集群的 Web 管理界面,我可以看到所有 Fabric 进程 运行 正在监听端口 19000,但 VS 2015 在发布期间拒绝连接。 我认为那是问题所在并禁用了防火墙,并有 "pinged" 个不同的端口来验证。有的响应(比如19080)19000不响应
想法?
更新: 运行 远程机器上的 powershell 连接命令有效。
Update2: 我已经将 "local cluster" 安装到其他 3 台机器上,并且都做完全相同的事情
Update3: 使用 netsh 命令在远程机器上创建了一个端口转发以从 18090 路由到 19000。现在我可以通过 powershell 从我的本地机器连接到远程机器的本地集群。 (我还注意到,如果远程计算机上的 username/password 不在同一个域中,则它们需要相同) Visual Studio 现在也可以连接了,但是 powershell 脚本中途出错,这里是输出。
*>正在将应用程序复制到图像存储...
复制应用包成功
正在注册应用程序类型...
Register-ServiceFabricApplicationType:应用程序清单文件
'FabricApp2Type\ApplicationManifest.xml' 未在商店中找到。
在 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricS
DK\Publish-NewServiceFabricApplication.ps1:244 char:9
+注册-ServiceFabricApplicationType-ApplicationPathInImageStore
$申请...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ 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 错误,但我可以看到在其他机器上使用 "local clusters" 进行开发和调试的好处。比必须在 Azure 中建立开发集群容易得多,并且比推送到 public 派对集群更安全。我希望 SF 团队中的某人已经在致力于允许 VS 远程部署和调试。
如果有人对如何解决目前的问题有任何建议,请post。我也很高兴测试想法。
我在开发测试实验室中托管了几个小型单机开发集群,它们运行良好。
我认为主要区别在于我使用的是 Service Fabric Standalone 安装程序而不是 SDK。我试图让 SDK 版本正常工作,结果与您发现的相同。
这些是我在内部分发的说明,用于在 DevTest 实验室中创建一台机器 'micro cluster'。
- 从 Azure 站点下载 Service Fabric 独立包
并解压 https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-creation-for-windows-server/ - 编辑文件ClusterConfig.Unsecure.DevCluster
- 用本地机器的 IP 地址或主机名更新 3 个 IP 地址条目 ex - "iPAddress": "10.0.0.5"
- 使用 PowerShell 命令创建集群(使用管理员).\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath
.\ClusterConfig.Unsecure.DevCluster.json -接受最终用户许可协议 - 通过打开浏览器验证集群创建完成 - http://hostname:19080
- 在本地机器上打开发布端口(如果使用普通 ARM 机器而不是开发测试,则打开端点防火墙)
使用SDK创建本地集群仅供单机开发,不能远程向其发布应用。要创建远程本地集群,请使用独立包(如 Chuck Duffy 所建议)
我们 运行 遇到与 Windows 7 和来宾可执行文件相同的问题。 运行 在 Azure 或 Windows 10 上工作正常。我们最终将来宾可执行文件包装在无状态服务中,这使我们能够 运行 并在 Windows 7 上进行本地调试。这最终也是一个整体上更好的解决方案,因为当时来宾可执行文件具有与无状态服务相比的几个限制。