首页 > 解决方案 > 如何重新启动 Service Fabric 规模集计算机

问题描述

我们有一个带有 5 个节点的规模集(主要)的服务结构集群。我们的一项服务中存在内存泄漏,耗尽了节点上的所有可用内存,最终其他服务失败。例如,一些 Powershell 命令现在不起作用。在 Service Fabric Explorer 中,一切正常,没有任何错误或警告。是否可以重新启动机器,最好的方法是什么,以便我们可以将机器恢复到所有服务都在工作的初始状态?

在缩小规模时,它会在规模集中删除索引最高的节点,因此按照文档进行放大然后删除有故障的节点将无济于事。

如果我们重启规模集节点一买一,会发生什么?我看到服务结构处理它 - 禁用节点并在之后激活它。但是从银层的文档来看,我们需要有 5 个节点一直运行。因此,在重新启动任何节点之前,我们是否应该扩大规模,再添加一个节点,然后继续重新启动?

标签: azure-service-fabric

解决方案


如果故障节点的健康服务仍在运行,最好的方法是先使用Disable-ServiceFabricNode命令禁用该节点,以便将任何健康服务移出该节点,尽可能减少影响。

一旦服务被移动,在某些情况下,只需一个Restart-ServiceFabricNode命令就可以杀死所有锁定的服务并恢复健康,而无需实际重新启动 VM。

在最后一种情况下,您可能需要通过 Powershell 或 Azure 门户重新启动 VM 以重新启动节点。

如果您的集群在高密度负载上运行,您可能需要先扩展以将容量带到集群重新分配服务。


推荐阅读