将解决方案部署到Service Fabric集群时遇到的问题

时间:2016-05-12 14:33:23

标签: azure azure-service-fabric

所有

我似乎无法将在本地群集上完美运行的应用程序部署到Azure中的群集。

奇怪的是,我过去能够部署这个应用程序,但现在似乎无法。部署应用程序后,似乎我的无状态服务首次部署没有任何问题,但我的有状态服务和演员似乎无法找到合适的复制节点,因为我似乎收到以下警告(通过服务结构浏览器) ,选择申请时):

Unhealthy event: SourceId='System.PLB', Property='ServiceReplicaUnplacedHealth_Primary_8f41b6fb-3c6f-4916-9f85-27da0171ae6d', HealthState='Warning', ConsiderWarningAsError=false.
The Load Balancer was unable to find a placement for one or more of the Service's Replicas:
fabric:/Namespace/ActorService Primary Partition 8f41b6fb-3c6f-4916-9f85-27da0171ae6d could not be placed, possibly, due to the following constraints and properties:  
Placement Constraint: N/A
Depended Service: N/A

Constraint Elimination Sequence:
NodeBlockList eliminated 5 possible node(s) for placement -- 0/5 node(s) remain.

经过进一步调查,我也遇到了以下错误:

Error event: SourceId='System.Hosting', Property='CodePackageActivation:Code:EntryPoint'.
ServiceManifestName='ActorPkg', NodeName='_nt1vm_4',AggregatedHealthState='Error'.

当检查blob存储中的所有日志文件以及跟踪时,我还发现了以下日志语句:

2016-5-12 12:54:15.176,Warning,1516,2528,Hosting.ProcessActivationManager,Application service 66933b89-78e9-4590-8971-d0cad139d956 with processId 3240 for parent process 310a2a579b75d9847ba5a43d6b365d7c terminated with exit code 2148734720
2016-5-12 12:54:15.176,Warning,1516,2528,Hosting._Nodes_ProcessUnexpectedTermination@310a2a579b75d9847ba5a43d6b365d7c,ServiceHostProcess: Process.exe for ApplicationId 66933b89-78e9-4590-8971-d0cad139d956 terminated unexpectedly with exit code 2148734720 on node id 310a2a579b75d9847ba5a43d6b365d7c
2016-5-12 12:54:15.176,Informational,1516,2528,Hosting.ProcessActivationManager,Sending ApplicationService host down notification for apphost 66933b89-78e9-4590-8971-d0cad139d956, node 310a2a579b75d9847ba5a43d6b365d7c
2016-5-12 12:54:15.176,Warning,2888,2556,Hosting.ApplicationHostManager@310a2a579b75d9847ba5a43d6b365d7c:131075269508464788,Processing termination of activated Application Host: HostId=66933b89-78e9-4590-8971-d0cad139d956, ExitCode=2148734720
2016-5-12 12:54:15.176,Warning,2888,2556,IPC.ServerFailedToRemoveClient,527e532390 client 66933b89-78e9-4590-8971-d0cad139d956 not found
2016-5-12 12:54:15.176,Informational,2888,2556,Hosting.ApplicationHostManager@310a2a579b75d9847ba5a43d6b365d7c:131075269508464788,RemoveActivationTableEntry: ErrorCode=S_OK, HostId=66933b89-78e9-4590-8971-d0cad139d956
2016-5-12 12:54:15.176,Informational,1516,2528,Transport.Enqueue,adb77036b0 enqueue ef74d99d-1a29-4c34-b6d1-1f59542a42d8:1926 False  319B @ qsize 0/0B
2016-5-12 12:54:15.176,Informational,2864,2556,RA.HostingProcessClosedEvent_Hosting@310a2a579b75d9847ba5a43d6b365d7c:131075269508464788,RA on node 310a2a579b75d9847ba5a43d6b365d7c:131075269508464788 performing AppHost down processing for apphost: 66933b89-78e9-4590-8971-d0cad139d956/
2016-5-12 12:54:15.176,Informational,2864,2556,RA.MultipleFTWorkBegin_MultipleFT@310a2a579b75d9847ba5a43d6b365d7c:131075269508464788,Multiple FT Work Begin [Activity: AppHostClosed 66933b89-78e9-4590-8971-d0cad139d956]. FTs 36
2016-5-12 12:54:15.176,Informational,2888,2556,Hosting.HostingHealthManager@310a2a579b75d9847ba5a43d6b365d7c:131075269508464788,ServicePackage ReportHealth: HealthReport(fabric:/Namespace+ActorPkg+310a2a579b75d9847ba5a43d6b365d7c instance=131075312250519674 System.Hosting CodePackageActivation:Code:EntryPoint Error ttl=Infinite sn=131075312551846737 There was an error during CodePackage activation.The service host terminated with exit code:2148734720 removeWhenExpired=false 2016-05-12 12:54:15.184 priority NotAssigned)

如果有人有任何想法或建议,为什么我的应用程序无法再部署在云端,我将不胜感激!

亲切的问候

3 个答案:

答案 0 :(得分:2)

在回应The Muffin Man的评论时,我已从问题中删除了答案并将其放在此处(并将其作为解决方案接受):

在弄清楚如何提供额外的诊断信息之后。 (通过云浏览器,导航到虚拟机比例集,然后选择比例集。在我的情况下' nt1vm'并选择更新诊断...通过操作并打开所有日志记录)

我遇到了这一行(在WADWindowsEventLogsTable中):

.NET Runtime version : 4.0.30319.34209 - This application could not be started.This application requires one of the following versions of the .NET Framework: .NETFramework,Version=v4.6.1Do you want to install this .NET Framework version now?

所以我将我的应用程序降级为使用.NET 4.5.2。

更新已解决:降级到.NET 4.5.2后,我的应用程序部署完美。感谢您的帖子:Hosting console application in public service fabric cluster让我试一试。

答案 1 :(得分:0)

我的Service Fabric部署也发生了同样的2148734720错误。我的SF应用程序的目标是.net 4.6.1,但SF节点上没有安装.net 4.6.X。

在每个部署SF节点上安装.net 4.6.2(并重新启动)后,此错误已得到修复。

答案 2 :(得分:0)

如果您使用.Net核心与非美国版本的Windows,您可能会遇到早于2.0.3的框架版本的此问题: https://github.com/Azure/service-fabric-issues/issues/643

正如GitHub的讨论所说,解决方案是升级到.Net Core的新版本。但是,即使这样做,如果没有采用新版本的框架,您仍可能会遇到问题。

您可以通过在.csproj中明确指定版本来解决此问题:

get_or_create