如何重新启动 Service Fabric 规模集计算机
Posted
技术标签:
【中文标题】如何重新启动 Service Fabric 规模集计算机【英文标题】:How to restart Service Fabric scale set machines 【发布时间】:2019-03-09 20:08:03 【问题描述】:我们有一个带有 5 个节点的规模集(主要)的服务结构集群。我们的一项服务出现内存泄漏,耗尽了节点上的所有可用内存,最终其他服务失败。例如,一些 Powershell 命令现在不起作用。在 Service Fabric Explorer 中,一切正常,没有任何错误或警告。是否可以重新启动机器?最好的方法是什么,以便我们可以将机器恢复到所有服务都在工作的初始状态?
在规模集缩小时,它会删除索引最高的节点,因此无法按照文档进行扩展,然后删除有故障的节点。
如果我们重启规模集节点一买一,会发生什么?我看到服务结构处理它 - 禁用节点并在之后激活它。但是从银层的文档来看,我们需要有 5 个节点一直运行。那么在重启任何节点之前,我们是否应该扩大规模,再添加一个节点,然后继续重启?
【问题讨论】:
【参考方案1】:如果故障节点的健康服务仍在运行,最好的方法是先使用Disable-ServiceFabricNode
命令禁用该节点,以便将任何健康服务移出该节点,从而尽可能减少影响。
一旦服务被移动,在某些情况下,只需一个Restart-ServiceFabricNode
命令就可以杀死所有锁定的服务并恢复健康,而无需实际重新启动 VM。
在最后一种情况下,您可能需要通过 Powershell 或 Azure 门户重新启动 VM 以重新启动节点。
如果您的集群在高密度负载下运行,您可能需要先向上扩展,以便为集群重新分配服务的容量。
【讨论】:
以上是关于如何重新启动 Service Fabric 规模集计算机的主要内容,如果未能解决你的问题,请参考以下文章
Service Fabric 中的 Stateless Worker 服务在同一进程中重新启动
在生产中正常重新启动 Service Fabric 应用程序以反映对数据包的更新
启动 Service Fabric 群集时出错 (v 1.5.175)
管理来宾可执行文件依赖项 - 本地 Service Fabric