从独立部署迁移到集群

可以将单 system 数据库的独立部署迁移到多 system 主库的集群。实质上,这是通过从独立服务器转储 system 数据库并将其加载到将组成集群的其他服务器中来完成的。以下示例展示了如何从具有单个 system 主库的独立服务器迁移到具有三个 system 主库的集群。

另一种具有单个 system 数据库的部署是具有单个 system 主库的分析集群。如果希望迁移到具有多个 system 主库的集群,则以下示例适用,但需要额外注意的是,辅助服务器将被丢弃(这在修改 neo4j.conf 文件时的第一步中完成)。有关分析集群的更多信息,请参阅部署分析集群

从单个 system 数据库迁移到具有三个 system 主库的集群

在此示例中,一个名为 server01 的独立服务器正在运行,并将添加另外两个服务器 server02server03 以组成集群。这两个附加服务器已根据配置三服务器集群进行配置。这两个新服务器应尚未启动。所有三个服务器上都已安装 Neo4j 企业版。

首先停止独立服务器。停止后,编辑neo4j.conf 文件以包含其自身以及将组成集群的服务器的发现端点。

以下示例使用 dbms.cluster.discovery.resolver_type=LIST

server01.example.com 上的 neo4j.conf
server.default_listen_address=0.0.0.0
server.default_advertised_address=server01.example.com
dbms.cluster.endpoints=server01.example.com:6000,server02.example.com:6000,server03.example.com:6000
initial.dbms.default_primaries_count=3

neo4j.conf 文件在所有三个服务器上除了 server.default_advertised_address 外都相同。请参阅配置三服务器集群了解更多信息。)

server01(独立服务器)上,使用 neo4j-admin database dump 命令转储 system 数据库。

bin/neo4j-admin database dump system --to-path=/full/path/to/dumps/

有关转储命令的更多信息,请参阅备份离线数据库

使用 neo4j-admin database load 命令将 server01 上的 system 数据库转储加载到 server02server03

bin/neo4j-admin database load --from-path=/full-path/data/dumps system

有关加载命令的更多信息,请参阅恢复数据库转储

server02server03 上加载 system 数据库后,启动所有服务器。新添加的服务器应处于 Free 状态(server02server03),这可以使用 SHOW SERVERS 进行验证。

SHOW SERVERS;
+-----------------------------------------------------------------------------------------------------------+
| name                                   | address         | state     | health      | hosting              |
+-----------------------------------------------------------------------------------------------------------+
| "d6fbe54b-0c6a-4959-9bcb-dcbbe80262a4" | "server01:7687" | "Enabled" | "Available" | ["system", "neo4j"]  |
| "e56b49ea-243f-11ed-861d-0242ac120002" | "server02:7687" | "Free"    | "Available" | ["system"]           |
| "73e9a990-0a97-4a09-91e9-622bf0b239a4" | "server03:7687" | "Free"    | "Available" | ["system"]           |
+-----------------------------------------------------------------------------------------------------------+

server01(之前为独立服务器)上,使用 SHOW DATABASES 验证所有用户数据库是否仍在运行。

最后一步是使用 ENABLE SERVER 启用处于 Free 状态的服务器(有关服务器状态的更多信息,请参阅管理集群中的服务器)。

启用所有服务器后,如果需要,可以使用ALTER DATABASE 扩展用户数据库。

© . All rights reserved.