将 Neo4j 实例添加到正在运行的嵌入式 HA 应用程序中
在某些情况下,我们希望使用 Neo4j 浏览器访问嵌入式 HA 集群。
Neo4j 文档中描述了实现此目标的已记录方法,该方法需要更改嵌入式应用程序代码。
还有另一种方法不需要更改应用程序代码。此第二种方法涉及向集群添加另一个服务器模式实例。以下是步骤
-
安装一个新的 Neo4j Enterprise 服务器模式实例(使用 tarball/zip 或其他方法),该实例与嵌入式应用程序中正在运行的 Neo4j 版本相同。
-
编辑
neo4j.conf
文件并更新以下参数
dbms.mode=HA
# this is just a high number to easily identify that it is a server instance
ha.server_id=20
ha.slave_only=true
ha.initial_hosts=<initial hosts to only include the members of the embedded HA cluster>
除非新服务器实例将成为集群中的永久成员,并且集群启动需要它,否则我们无需将其添加到ha.initial_hosts
中。我们已将ha.slave_only=true
设置为 true,因为我们希望阻止此实例成为主实例。但是,它将能够接受写入操作。
-
在新实例上启动 Neo4j。
在启动期间,新实例将连接到初始主机之一并请求加入集群。启动过程的一部分是发现集群中还有哪些其他成员,包括可能不在 inital_hosts 中但后来加入的实例,以及了解 inital_hosts 中的任何成员是否已失败。
现在,我们拥有了一个 Neo4j 实例,我们可以在其中使用 Neo4j 浏览器与图数据库进行通信,就像在传统的服务器模式 HA 集群中一样。
此页面是否有帮助?