就地滚动升级集群企业版
|
重要提示
建议在继续之前阅读简介和升级到 5.x 或 5 LTS。 |
|
在 Neo4j 5.23 版本中,发现服务 v1 (discovery service v1) 被弃用,并引入了发现服务 v2。在 2025.01 版本中,发现服务 v1 已被移除。因此,强烈建议从 v1 过渡到 v2,并且必须在升级到 Neo4j 2025.01 之前完成。有关更多详细信息,请参考 操作手册 → 从发现服务 v1 迁移到 v2。 |
这是一种滚动升级的示例,通过一次升级单个服务器来实现。此方法在升级期间保持集群可用。然而,在每台服务器离线时会降低容错能力。
升级步骤(对每台服务器重复执行)
-
检查集群健康状况。
-
使用以下查询检查服务器是否托管了所有分配的数据库。查询不应返回任何结果
SHOW SERVERS YIELD name, hosting, requestedHosting, serverId WHERE requestedHosting <> hosting在 5.9 版本之前,如果使用复合数据库,它们不会出现在
requestedHosting中,因此此查询会返回所有服务器。因此,必须手动比较hosting与requestedHosting字段,并排除任何复合数据库。从 5.10 版本起,复合数据库会同时出现在hosting和requestedHosting字段中。 -
使用以下查询来检查所有数据库是否处于预期状态。该查询应该返回无结果:
SHOW DATABASES YIELD name, address, currentStatus, requestedStatus, statusMessage WHERE currentStatus <> requestedStatus RETURN name, address, currentStatus, requestedStatus, statusMessage
-
-
对于就地滚动升级,单个服务器的步骤与升级独立服务器完全相同。具体步骤取决于您选择的 Neo4j 部署方式。
常见部署提供了示例
-
服务器重新启动后,确认其运行成功。
运行以下命令并检查服务器状态是否为
Enabled,运行状况是否为Available。SHOW SERVERS WHERE name = [server-id]; -
确认服务器已启动所有应当启动的数据库。
此命令显示任何不在预期状态的数据库
SHOW DATABASES YIELD name, address, currentStatus, requestedStatus, serverID WHERE currentStatus <> requestedStatus AND serverID = [server-id] RETURN name, address, currentStatus, requestedStatus -
在下一台服务器上重复这些步骤,直至所有服务器全部升级。