如何从Neo4J 2.0.4升级到3.3.3?

时间:2018-02-18 23:08:03

标签: neo4j

我正在尝试从Neo4J 2.0.4升级到3.3.3,我按照单实例升级页面上列出的所有步骤进行操作: http://neo4j.com/docs/operations-manual/3.3/upgrade/deployment-upgrading/

我使用2.x-config-migrator.jar实用程序导入了所有配置,然后运行neo4j-admin import将数据库从2.0.4导入3.3.3,这似乎有效。

但是,当我尝试使用新数据库启动neo4j(运行neo4j console以查看错误时,正常neo4j start不起作用)我在此之后看到以下错误消息:

2018-02-18 22:59:53.328+0000 INFO Starting upgrade of database

2018-02-18 22:59:53.335+0000 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@4ae9cfc1' was successfully initialized, but failed to start. Please see the attached cause exception "Not possible to upgrade a store with version 'v0.A.1' to current store version {v0.A.8 {1}}

我尝试过研究这个问题,但绝对没有信息。支持升级路径2.0.x(最新)到3.3.2,所以我认为它与3.3.3相同,因为它只是一个小的升级。

当我从(Neo4j 3.3.3).文件夹中删除导入的数据库graph.db并尝试在新安装的数据库上运行data时,我也会收到此错误:

neo4j console

但是,当我通过Neo4J Desktop安装一个干净的数据库时,它运行正常。

我正在使用Mac OS X 10.12.6和Java 1.8。

我如何尝试解决此问题?

1 个答案:

答案 0 :(得分:0)

最后,我必须自己回答这个问题,因为我花了几个小时来解决这个问题。

首先,Neo4J声称他们支持从最新的2.x版本到3.x的升级路径,但事实并非如此。我有2.0.4版本(这是最新的2.0版本,将设置和旧数据库迁移到新结构中存在很多问题。它根本无法启动。

我必须先升级到最新稳定的2.x版Neo4J,即2.3.8。我遇到了一些设置问题(我在2.0.4中使用了身份验证,但我不得不使用2.3.x提供的新内置身份验证模块,所以我不得不更改一些设置并删除auth插件)。您还需要将数据库存储从2.0.x升级到2.3.x(通过取消注释conf中的设置)。

安装并检查2.3.8正在运行且旧数据库是否正常工作后,您需要下载最新的3.x版本。

但是,设置迁移工具无法正常运行。它创建了许多新版本不支持的设置,因此您必须手动移动它们或根本不移动它们。此外,迁移工具不能在Java 1.7下运行,因此您可能必须为迁移工具安装Java 1.8才能启动...所以不要使用它。

完成后,如果您已将数据库升级到最新的2.x版本,则可以运行neo4j-admin导入工具将该数据库导入新的3.x版本并进行转换。

此处详细介绍了整个过程:https://github.com/noduslabs/infranodus/wiki/Upgrading-Your-Neo4J-Database-from-2.x-to-3.x