Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 服务结构群集状态“;“升级服务无法访问”;_Azure_Azure Service Fabric - Fatal编程技术网

Azure 服务结构群集状态“;“升级服务无法访问”;

Azure 服务结构群集状态“;“升级服务无法访问”;,azure,azure-service-fabric,Azure,Azure Service Fabric,我的SF集群由3个标准A0节点组成。 我将集群扩展到1个节点,并理解这是个坏主意,因为在这种状态下没有任何东西工作(即使SF explorer也不工作) 然后我将其缩小到3个节点,并重新启动了主scaleser。 现在scaleset中的所有节点都已启动并运行,但SF群集状态为“升级服务无法访问”。 我看到了类似的问题,建议将节点扩展到D2,但这并没有解决我的问题。 我已经通过RDP连接到一个节点,下面是一些事件日志: 事件日志->应用程序和服务日志->Microsoft服务结构->操作: 节点

我的SF集群由3个标准A0节点组成。 我将集群扩展到1个节点,并理解这是个坏主意,因为在这种状态下没有任何东西工作(即使SF explorer也不工作) 然后我将其缩小到3个节点,并重新启动了主scaleser。 现在scaleset中的所有节点都已启动并运行,但SF群集状态为“升级服务无法访问”。 我看到了类似的问题,建议将节点扩展到D2,但这并没有解决我的问题。 我已经通过RDP连接到一个节点,下面是一些事件日志:

事件日志->应用程序和服务日志->Microsoft服务结构->操作:

节点名称:_SSService_0无法打开,升级域:0,故障域:fd:/0,地址:10.0.0.4,主机名:SSService000000,isSeedNode:true,版本实例:5.6.210.9494:3,id:d9e8bae2d4d8116bfefb989b95e91f7b,dca实例:131405546580494698,错误:结构超时

事件日志->应用程序和服务日志->Microsoft服务结构->管理:


客户端-10.0.0.4:19000/10.0.0.4:19000:错误=2147943625,故障计数=487。按(type~Transport.St&&“(?i)10.0.0.4:19000”)筛选以获取侦听器生命周期。如果侦听器从未启动,或者侦听器/其进程在连接之前/期间停止,则可能会出现连接失败。

如果通过将VM scale设置为1来缩小集群,则基本上是在破坏集群,因为设计上至少需要3个节点。因此,唯一的方法是从头开始重新创建它


如果您需要一个仅由1个节点组成的小型集群(如用于测试目的),Azure中现在有一种创建单个节点集群的方法,但您将无法扩展它,因为这是一种特殊情况,不适用于生产使用。

升级服务不可访问。如果群集的活动VM或节点数变为0,则会发生这种情况。在我的例子中,他是通过一次重新启动所有VM来实现的。在此状态下,节点可用并正在运行,但它们已与群集断开连接

通过从
虚拟机规模集取消分配并重新启动节点,我解决了这个问题。

据我回忆,唯一的解决方案(没有太多闲话)是销毁并重新创建集群!放大后遇到相同的错误。重新创建集群是不够的,因为现有VM会抱怨不同的集群唯一标识符不匹配。很高兴它只是azure中的一个测试环境集群。如果我集群中的3个虚拟机中有2个宕机几分钟呢?你是说这会永远毁掉我的群集吗?@Anubis Azure Service Fabric需要至少3台计算机才能“正常”运行,因为你所做的每件事都会被复制至少3次。也就是说,如果1个节点因任何原因停机,则会发生群集运行状况错误事件,但是当它再次启动时,其他2个节点上有足够的数据来恢复故障节点。无法保证如果2个节点宕机,那么第三个节点可以在它们再次启动时恢复集群,因此对于生产,我建议至少5个节点。我理解这一点。我不明白的是,当所有3个VM都在运行时,为什么mu集群现在不能工作。这个答案是不正确的。fabric也可以在1个节点上运行。@l--------1号节点群集是一种“黑客”行为,需要支付更少的费用。这甚至不是任何类型的集群。