工作井后neo4j 2启动失败

工作井后neo4j 2启动失败,neo4j,Neo4j,我的neo4j服务器工作正常,但我的服务器重新启动,neo4j没有启动 服务器:Ubuntu 13.10 jdk:oraclejdk 这是错误: SEVERE: org.neo4j.server.ServerStartupException: Starting Neo4j Server failed: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /var/lib/neo4j/data/graph.db at org.ne

我的neo4j服务器工作正常,但我的服务器重新启动,neo4j没有启动

服务器:Ubuntu 13.10
jdk:oraclejdk

这是错误:

SEVERE: 
org.neo4j.server.ServerStartupException: Starting Neo4j Server failed: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /var/lib/neo4j/data/graph.db
    at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:209)
    at org.neo4j.server.Bootstrapper.start(Bootstrapper.java:87)
    at org.neo4j.server.Bootstrapper.main(Bootstrapper.java:50)
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /var/lib/neo4j/data/graph.db
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:333)
    at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:63)
    at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:92)
    at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:198)
    at org.neo4j.kernel.impl.recovery.StoreRecoverer.recover(StoreRecoverer.java:115)
    at org.neo4j.server.preflight.PerformRecoveryIfNecessary.run(PerformRecoveryIfNecessary.java:59)
    at org.neo4j.server.preflight.PreFlightTasks.run(PreFlightTasks.java:70)
    at org.neo4j.server.AbstractNeoServer.runPreflightTasks(AbstractNeoServer.java:319)
    at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:144)
    ... 2 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.extension.KernelExtensions@4b9de054' was successfully initialized, but failed to start. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504)
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
    at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:310)
    ... 10 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.index.lucene.LuceneKernelExtension@5df0330b' was successfully initialized, but failed to start. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504)
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
    at org.neo4j.kernel.extension.KernelExtensions.start(KernelExtensions.java:118)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)
    ... 12 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.index.impl.lucene.LuceneDataSource@3fc9dd8c' was successfully initialized, but failed to start. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504)
    at org.neo4j.kernel.lifecycle.LifeSupport.bringToState(LifeSupport.java:411)
    at org.neo4j.kernel.lifecycle.LifeSupport.add(LifeSupport.java:324)
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.registerDataSource(XaDataSourceManager.java:236)
    at org.neo4j.index.lucene.LuceneKernelExtension.start(LuceneKernelExtension.java:79)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)
    ... 15 more
Caused by: java.lang.NullPointerException
    at org.neo4j.kernel.impl.index.IndexProviderStore.<init>(IndexProviderStore.java:66)
    at org.neo4j.index.impl.lucene.LuceneDataSource.newIndexStore(LuceneDataSource.java:301)
    at org.neo4j.index.impl.lucene.LuceneDataSource.start(LuceneDataSource.java:224)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)
    ... 20 more

Jan 20, 2014 1:02:28 PM org.neo4j.server.logging.Logger log
SEVERE: Failed to start Neo Server on port [7474]
严重:
org.neo4j.server.ServerStartupException:启动neo4j服务器失败:启动org.neo4j.kernel.EmbeddedGraphDatabase时出错,/var/lib/neo4j/data/graph.db
位于org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:209)
位于org.neo4j.server.Bootstrapper.start(Bootstrapper.java:87)
位于org.neo4j.server.Bootstrapper.main(Bootstrapper.java:50)
原因:java.lang.RuntimeException:启动org.neo4j.kernel.EmbeddedGraphDatabase时出错,/var/lib/neo4j/data/graph.db
位于org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:333)
位于org.neo4j.kernel.EmbeddedGraphDatabase。(EmbeddedGraphDatabase.java:63)
位于org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:92)
位于org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:198)
位于org.neo4j.kernel.impl.recovery.StoreRecoverer.recover(StoreRecoverer.java:115)
在org.neo4j.server.preflight.PerformRecoveryIfNecessary.run(PerformRecoveryIfNecessary.java:59)
位于org.neo4j.server.preflight.PreFlightTasks.run(PreFlightTasks.java:70)
位于org.neo4j.server.AbstractNeoServer.runPreflightTasks(AbstractNeoServer.java:319)
位于org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:144)
... 还有两个
原因:org.neo4j.kernel.lifecycle.LifecycleException:组件“org.neo4j.kernel.extension”。KernelExtensions@4b9de054'已成功初始化,但启动失败。请参阅附件中的原因例外。
位于org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504)
位于org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
位于org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:310)
... 10多
原因:org.neo4j.kernel.lifecycle.LifecycleException:Component'org.neo4j.index.lucene。LuceneKernelExtension@5df0330b'已成功初始化,但启动失败。请参阅附件中的原因例外。
位于org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504)
位于org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
位于org.neo4j.kernel.extension.KernelExtensions.start(KernelExtensions.java:118)
位于org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)
... 还有12个
原因:org.neo4j.kernel.lifecycle.LifecycleException:Component'org.neo4j.index.impl.lucene。LuceneDataSource@3fc9dd8c'已成功初始化,但启动失败。请参阅附件中的原因例外。
位于org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504)
位于org.neo4j.kernel.lifecycle.LifeSupport.bringstate(LifeSupport.java:411)
位于org.neo4j.kernel.lifecycle.LifeSupport.add(LifeSupport.java:324)
位于org.neo4j.kernel.impl.transaction.XaDataSourceManager.registerDataSource(XaDataSourceManager.java:236)
位于org.neo4j.index.lucene.LuceneKernelExtension.start(LuceneKernelExtension.java:79)
位于org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)
... 还有15个
原因:java.lang.NullPointerException
位于org.neo4j.kernel.impl.index.IndexProviderStore(IndexProviderStore.java:66)
位于org.neo4j.index.impl.lucene.LuceneDataSource.newIndexStore(LuceneDataSource.java:301)
位于org.neo4j.index.impl.lucene.LuceneDataSource.start(LuceneDataSource.java:224)
位于org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)
... 20多
2014年1月20日下午1:02:28 org.neo4j.server.logging.Logger日志
严重:无法在端口[7474]上启动Neo服务器

我以前遇到过这个问题。后来,我发现了一些需要确保正确处理的问题

  • 如果处于嵌入式模式,请确保一次使用一个实例
  • 正确注册关机挂钩
  • 重新启动时,查看服务器是否仍在运行索引
  • 从neo4j db文件夹中删除tm_tx_log.1文件,然后重新启动 现在,前3个不太可能导致您的问题,因此我捕获了抛出的异常,然后删除了tm_tx_log.1文件,然后初始化了服务。不是傻瓜式的,而是一种变通方法

         public class GraphDB {
    
    
    
            private static GraphDB graph = null;
            private static final String DB_PATH = "target/neo4j-db";
            private static GraphDatabaseService graphService = null;
    
            protected GraphDB() {
                try{
                graphService = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
                registerShutdownHook(graphService);
                }catch(Exception e){
                    File file = new File(DB_PATH+"/tm_tx_log.1");
                    file.delete();
                }
            }
    
            public static GraphDB getInstance() {
                if (graph == null) {
                    graph = new GraphDB();
                }
                return graph;
            }
    
            public GraphDatabaseService getGraphDbService() {
                return graphService;
    
            }
    
            public void clearDb() {
                try {
                    // FileUtils.deleteRecursively();
                    File files = new File(DB_PATH);
                    for(File file : files.listFiles()){
                        FileDeleteStrategy.FORCE.delete(file);
                    }
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
    
            public void shutDown() {
                System.out.println();
                System.out.println("Shutting down database ...");
                graphService.shutdown();
            }
    
            private static void registerShutdownHook(final GraphDatabaseService graphDb) {
                Runtime.getRuntime().addShutdownHook(new Thread() {
                    @Override
                    public void run() {
                        graphDb.shutdown();
                    }
                });
            }    
            }
    
    在您的main部分中,调用handle时处理graphService为null的情况

    public static void main(String[] args) {
            GraphDB graphDb = GraphDB.getInstance();
            if(graphDb == null){
                graphDb = GraphDB.getInstance();
            }
    }
    

    这是Neo4j 2.0.0最终版本吗?您能否与我们共享您的数据库以供检查?请给我发一封电子邮件到michael的neotechnology.com这个数据库是用来测试的,我从neo4j库中删除了graph.db文件夹,现在我认为这是一个由neo4j创建的干净的数据库startup@MichaelHunger我下载neo4j-community-1.8.3-unix.tar.gz并运行它,它运行得很好,wtf?看看这个答案:(为我工作)