我的ubuntu ami上安装了neo4j 2.1.8。这个版本的neo4j的问题在于它没有身份验证功能,并且某些查询(如DETACH)无法在此版本上运行。所以我决定升级我的neo4j但失败了。我遵循的步骤是:
但不幸的是我遇到了以下错误
Component 'org.neo4j.server.database.LifecycleManagingDatabase@13401e7' was successfully initialized, but failed to start. Please see attached cause exception.
at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:67)
at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:234)
at org.neo4j.server.Bootstrapper.start(Bootstrapper.java:97)
at org.neo4j.server.CommunityBootstrapper.start(CommunityBootstrapper.java:48)
at org.neo4j.server.CommunityBootstrapper.main(CommunityBootstrapper.java:35)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.server.database.LifecycleManagingDatabase@13401e7' was successfully initialized, but failed to start. Please see attached cause exception.
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:462)
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:194)
... 3 more
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.CommunityFacadeFactory, /data-dir2/graph.db
at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:143)
at org.neo4j.kernel.impl.factory.CommunityFacadeFactory.newFacade(CommunityFacadeFactory.java:43)
at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:108)
at org.neo4j.server.CommunityNeoServer$1.newGraphDatabase(CommunityNeoServer.java:66)
at org.neo4j.server.database.LifecycleManagingDatabase.start(LifecycleManagingDatabase.java:95)
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
... 5 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.NeoStoreDataSource@74c6dcaa' was successfully initialized, but failed to start. Please see attached cause exception.
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:462)
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:112)
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:139)
... 10 more
Caused by: org.neo4j.kernel.impl.storemigration.StoreUpgrader$UnexpectedUpgradingStoreVersionException: '/data-dir2/graph.db/neostore.nodestore.db' has a store version number that we cannot upgrade from. Expected 'v0.A.3' but file is version ''.
at org.neo4j.kernel.impl.storemigration.UpgradableDatabase.checkUpgradeable(UpgradableDatabase.java:96)
at org.neo4j.kernel.impl.storemigration.StoreUpgrader.migrateIfNeeded(StoreUpgrader.java:149)
at org.neo4j.kernel.NeoStoreDataSource.upgradeStore(NeoStoreDataSource.java:636)
at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:527)
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
如果验证也可以在此版本(2.1.8)中完成,那么告诉进程,我不必更新我的数据库。
答案 0 :(得分:2)
我想我记得必须从2.1.x升级到2.2.x再升级到2.3.x. 2.1.x-> 2.3.x的直接升级路径不存在。
基本上,我在最新的2.2.x上设置allow_store_upgrade=true
,通过启动服务器升级数据库,关闭,将升级后的数据库复制到2.3.x并重复该过程。
编辑:手册确实表明存在2.1.x的直接升级路径 - > 2.3.x(http://neo4j.com/docs/stable/deployment-upgrading.html#explicit-upgrade)但这对我不起作用。
答案 1 :(得分:0)
我也尝试从2.1.8升级到2.2.8但它也失败了。在Windows 2.1.8升级到2.3.2的工作完美。所以我从安装了neo4j 2.1.8的ubuntu服务器下载数据文件夹(通常是graph.db),然后用它替换windows neo4j(2.1.8)的数据文件夹。然后在成功升级后将其升级到2.3.2,制作一个zip文件夹并将其上传到我的ubuntu服务器。之后我在我的ubuntu服务器上安装了neo4j 2.3.2并编辑neo4j-server.properties来更改数据库路径。