简体   繁体   English

Service Fabric群集中的分区重新配置

[英]Partition Reconfiguring in Service Fabric Cluster

I have a Stateful service fabric application. 我有一个状态服务结构应用程序。 In the application Parameter file i have PartitionCount as 20 在应用程序参数文件中,我的PartitionCount为20

When i deploy service to the cluster I get 20 partitions and some of the partition status is showing as "Reconfiguring" and finally they are going to warning state showing Unhealthy evnet 当我将服务部署到群集时,我得到20个分区,并且某些分区状态显示为“正在重新配置”,最后它们将进入警告状态,显示不健康的evnet

Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', ConsiderWarningAsError=false. 不健康事件:SourceId ='System.FM',Property ='State',HealthState ='Warning',ThoughtWarningAsError = false。 Partition reconfiguration is taking longer than expected. 分区重新配置花费的时间比预期的长。

But the replica health inside that Partition is showing as "OK" 但是该分区内的副本运行状况显示为“ OK”

What is actually happening when partition is in "Reconfiguring" state ? 当分区处于“重新配置”状态时,实际上发生了什么? Why this error occurs? 为什么会发生此错误?

Reconfiguration of a stateful service is when Service Fabric is shuffling replicas around the cluster. 有状态服务的重新配置是当Service Fabric在群集周围重新排列副本时。 This occurs any time the system needs to make a change to replica placement, which can be fail-over to ensure availability of replicas during machine down time or upgrades, or for resource balancing to ensure workloads are balanced across the cluster - the latter occurs immediately when you deploy a new service, as the system has to find a place to put the replicas and then balance everything out. 每当系统需要更改副本的位置时都会发生这种情况,可以进行故障转移以确保在计算机停机或升级期间副本的可用性,也可以进行资源平衡以确保整个群集之间的工作负载平衡-后者立即发生当您部署新服务时,系统必须找到放置副本的位置,然后平衡所有内容。

If reconfiguration is taking longer then expected, there's a good chance a replica is either not responding to a change role or close action (eg, your service code is not responding to the cancellation token in RunAsync), or a replica is failing to start (eg, your communication listener code throws an exception on OpenAsync). 如果重新配置花费了比预期更长的时间,则副本很有可能没有响应更改角色或关闭操作(例如,您的服务代码未响应RunAsync中的取消令牌),或者副本未能启动(例如,您的通信侦听器代码在OpenAsync上引发异常)。

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

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