2

我有一个带有一个主设备和两个从设备的 neo4j ha 集群。我们会定期离线重新生成neo4j数据,然后推送到master,重启集群,希望新数据同步到slave。现在,我们按照这些步骤进行操作。

  1. 删除所有 'data/coordinator/version-2' 目录并在所有 neo4j 实例上执行 'bin/neo4j-coordinator stop' 以停止同步。
  2. 停止主实例,删除其中的'data/graph.db/*',并将离线生成的新数据复制到主实例
  3. 在所有 neo4j 实例上执行 'bin/neo4j-coordinator start' 以重新启动同步。
  4. 使用新数据启动主实例。但奇怪的是,在我们执行下一步之前,从属实例不会同步新数据。
  5. 停止 slave1,删除它的 'data/graph.db/*' 并重新启动它。
  6. 停止 slave2,删除它的 'data/graph.db/*' 并重新启动它。

我不太了解neo4j的同步机制,想知道有没有更好的方法可以做到这一点,或者如何改进我的步骤。谢谢。

4

1 回答 1

1

如果您已经拥有数据的离线副本,并且您可以同时停止所有 3 个实例,则只需先将离线数据复制到所有 3 个实例,而不仅仅是主实例。然后你知道当你启动协调器和数据库时它们都是同步的。另外,我会在删除任何协调器数据之前先停止服务。

于 2013-03-06T17:40:14.730 回答