根据文档片段 5,节点失活后 ob-operator 会自动检测到该情况,并且创建出新的 Pod 作为“新节点”加入到原来的集群当中。加入集群之后新节点会向原有节点同步数据,直到所有数据同步完成。需要注意的是,在恢复过程中如果多数派失活,那么集群将无法恢复。如果出现这种情况,需要从备份中手动恢复数据。
文档片段 2 提到,在 OceanBase 4.2.3.0 版本之前内核无法采用虚拟 IP 进行通信,当 Pod IP 发生变化时 observer 将无法正常启动,需要采用某种方式将节点的 IP 固定住才能够让 observer 失活后原地重启。否则只能依赖多数派存活的条件将新的 Pod 以新的节点的方式加入集群并同步数据来恢复原来的节点数量。由于您使用的是 observer v4.2.4,理论上已经解决了这个问题,因此节点故障恢复应该更加顺畅。
关于 QPS 短暂掉为 0 的现象:
当一个节点失效时,集群会暂时失去该节点提供的服务,这会导致 QPS 短暂下降至 0。这是因为集群需要时间来检测节点失效,并由 ob-operator 创建新的 Pod 来恢复服务。在这个过程中,部分请求可能会失败或超时,导致 QPS 下降。