移动图基于v 3.0.2社区版的两个实例之间

时间:2016-06-14 21:15:55

标签: neo4j database-migration

很抱歉,如果这是重复的,但我没有找到与社区版v 3.0。*相关的答案。

在v2.3.4中,我通过简单地制作graph.db的tarball副本,成功地在实例之间移动了整个图形库。

在v3.0.2中,这似乎不起作用。是否有v3.0的程序。*?

也许我在2.3.4中因为没有这么复杂的图形库而变得幸运。目前,当我尝试在复制后启动实例时,我在日志中得到一个例外,相关部分是:

Caused by: java.lang.IllegalArgumentException: Unrecognized log entry version -9. At position LogPosition{logVersion=20, byteOffset=16} and entry version null
    at org.neo4j.kernel.impl.transaction.log.entry.LogEntryVersion.byVersion(LogEntryVersion.java:147)
    at org.neo4j.kernel.impl.transaction.log.entry.VersionAwareLogEntryReader.readLogEntry(VersionAwareLogEntryReader.java:83)
    at org.neo4j.kernel.impl.transaction.log.LogEntryCursor.next(LogEntryCursor.java:50)
    at org.neo4j.kernel.recovery.LatestCheckPointFinder.find(LatestCheckPointFinder.java:77)
    at org.neo4j.kernel.recovery.PositionToRecoverFrom.apply(PositionToRecoverFrom.java:53)
    at org.neo4j.kernel.recovery.DefaultRecoverySPI.getPositionToRecoverFrom(DefaultRecoverySPI.java:112)
    at org.neo4j.kernel.recovery.Recovery.init(Recovery.java:72)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:406)

2 个答案:

答案 0 :(得分:1)

如果要将graph.db表单转移到另一个实例,请确保实例完全关闭。如果您从正在运行的实例中复制,则存在在您已经描述的情况下运行的危险。

Neo4j企业版拥有"在线备份"有效地执行所需操作的功能:将graph.db运行实例复制到备份目录中。

答案 1 :(得分:0)

与同事合作,我们将问题隔离到 之一,3.0.1的Community Edition graph.db与3.0.2的版本不兼容,因为原始实例是运行3.0.2和目标3.0.1,当使用Debian apt-get安装机制安装Neo4j时,某些在配置中完成,该配置使数据库来自使用Community Edition tarball(通过" tar -xf")构建的实例与它不兼容。

我们现在使用" tar -xf"在另一个盒子上使用新建的3.0.2成功使用新graph.db。来自Community Edition tarball。