集群的原地滚动升级
升级步骤(对每台服务器重复)
-
检查集群是否健康。
-
使用以下查询检查服务器是否托管了所有分配的数据库。查询应返回无结果
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
-
在下一台服务器上重复这些步骤,直到所有服务器都升级完毕。
手动升级 system
数据库
如果您使用的是 5.8 或更早版本的 Neo4j,则必须手动升级 system
数据库。连接到任何服务器上的 system
数据库并运行以下过程
CALL dbms.upgrade();
从 5.9 版开始, |
监控日志
Neo4j 重新启动时,最好监控日志以查找升级导致的任何错误或警告。neo4j.log 文件包含有关升级的信息。