知识库

将 Neo4j 实例添加到正在运行的嵌入式 HA 应用程序

有时我们希望使用 Neo4j Browser 来访问嵌入式 HA 集群。

实现该目标的官方方法要求修改嵌入式应用程序代码,具体参见 Neo4j 文档

还有另一种方法不需要修改应用程序代码。这种方法涉及向集群中添加一个额外的服务器模式实例。步骤如下:

  • 安装一个新的 Neo4j 企业版服务器模式实例(使用 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 设置为真,因为我们希望防止此实例成为主节点。但是,它将能够接受写入操作。

  • 在新实例上启动 Neo4j。

在启动过程中,新实例将连接到其中一个初始主机并请求加入集群。启动过程的一部分是发现集群中还有哪些成员,包括那些可能不在 inital_hosts 中但后来加入的实例,以及了解 inital_hosts 中的任何成员是否已失效。

现在我们有了一个 Neo4j 实例,可以使用 Neo4j Browser 与图数据库进行通信,就像我们在传统服务器模式 HA 集群中那样。

© . All rights reserved.