将 Neo4j 实例添加到正在运行的嵌入式 HA 应用程序中
在某些情况下,我们希望使用 Neo4j Browser 来访问嵌入式 HA 集群。
文档中描述的实现该目标的方法需要按照 Neo4j 文档的说明修改嵌入式应用程序代码。
还有另一种方法不需要更改应用程序代码。此方法是在集群中添加一个额外的服务器模式实例。步骤如下:
-
安装一个新的 Neo4j Enterprise 服务器模式实例(使用 tar 包/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,以防止该实例成为 Master。不过,它仍然可以接受写入。
-
在新实例上启动 Neo4j。
启动时,新实例会连接到某个初始主机并请求加入集群。启动过程的一部分是发现集群中还有哪些成员,包括那些不在 ha.initial_hosts 中、后来加入的实例,以及判断初始主机中的成员是否有故障。
此时我们已经拥有一个 Neo4j 实例,可以像在传统的服务器模式 HA 集群中一样使用 Neo4j Browser 与图数据库进行交互。
此页面有帮助吗?