【问题标题】:Delete DB and transaction logs on Neo4j 4.2.3 Community Server删除 Neo4j 4.2.3 社区服务器上的数据库和事务日志
【发布时间】:2021-02-11 21:56:36
【问题描述】:

我正在尝试自动将一些数据导入 neo4j(社区服务器),如下所示:每天,我需要删除数据并导入新数据。 在之前的 neo4j 版本(3.x)中,我可以使用以下命令执行 db 数据删除 echo "$(cat /etc/neo4j/neo4j.conf| sed -n 's/.*dbms.directories.data=//p')"/databases/"$(cat /etc/neo4j/neo4j.conf | sed -n 's/.*dbms.active_database=//p')"/* | xargs rm -rf

现在,当我运行相同的命令时,似乎删除了 db,但没有删除事务日志,因此 neo4j 无法启动。

Directories in use:
  home:         /var/lib/neo4j
  config:       /etc/neo4j
  logs:         /var/log/neo4j
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/run/neo4j
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4                                                                                                                                                             j manual.
2021-02-11 21:45:22.869+0000 INFO  Starting...
2021-02-11 21:45:24.342+0000 INFO  ======== Neo4j 4.2.3 ========
2021-02-11 21:45:32.737+0000 ERROR Failed to start Neo4j on dbms.connector.http.listen_address, a socket address. If missing port or hostname it is acquired from dbms.default_listen_address.
java.lang.RuntimeException: Error starting Neo4j database server at /var/lib/neo4j/data/databases
        at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:207) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:163) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:134) [neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:90) [neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:35) [neo4j-4.2.3.jar:4.2.3]
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.dbms.database.DefaultSystemGraphInitializer@5634a861' was successfully initialized, but failed to start. Please see the attached cause exception "Fail to start 'DatabaseId{00000000[system]}' since transaction logs were found, while database files are missing.".
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:463) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.3.jar:4.2.3]
        ... 5 more
Caused by: java.lang.IllegalStateException: Failed to initialize system graph component: This database is shutdown.
        at org.neo4j.dbms.database.SystemGraphComponents.initializeSystemGraph(SystemGraphComponents.java:102) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.DefaultSystemGraphInitializer.initializeSystemGraph(DefaultSystemGraphInitializer.java:41) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.SystemGraphInitializer.start(SystemGraphInitializer.java:29) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.3.jar:4.2.3]
        ... 5 more
Caused by: org.neo4j.graphdb.DatabaseShutdownException: This database is shutdown.
        at org.neo4j.kernel.availability.DatabaseAvailabilityGuard.assertDatabaseAvailable(DatabaseAvailabilityGuard.java:172) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginKernelTransaction(GraphDatabaseFacade.java:197) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransactionInternal(GraphDatabaseFacade.java:176) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:122) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:116) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:104) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTx(GraphDatabaseFacade.java:99) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.AbstractSystemGraphComponent.detect(AbstractSystemGraphComponent.java:118) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.AbstractSystemGraphComponent.initializeSystemGraph(AbstractSystemGraphComponent.java:93) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.SystemGraphComponents.initializeSystemGraph(SystemGraphComponents.java:92) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.DefaultSystemGraphInitializer.initializeSystemGraph(DefaultSystemGraphInitializer.java:41) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.SystemGraphInitializer.start(SystemGraphInitializer.java:29) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.3.jar:4.2.3]
        ... 5 more
        Suppressed: org.neo4j.graphdb.DatabaseShutdownException: This database is shutdown.
                at org.neo4j.kernel.availability.DatabaseAvailabilityGuard.assertDatabaseAvailable(DatabaseAvailabilityGuard.java:172) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginKernelTransaction(GraphDatabaseFacade.java:197) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransactionInternal(GraphDatabaseFacade.java:176) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:122) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:116) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:104) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTx(GraphDatabaseFacade.java:99) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractSystemGraphComponent.detect(AbstractSystemGraphComponent.java:118) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractSystemGraphComponent.initializeSystemGraph(AbstractSystemGraphComponent.java:93) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.SystemGraphComponents.initializeSystemGraph(SystemGraphComponents.java:92) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.DefaultSystemGraphInitializer.initializeSystemGraph(DefaultSystemGraphInitializer.java:41) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.SystemGraphInitializer.start(SystemGraphInitializer.java:29) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.3.jar:4.2.3]
                at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:163) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:134) [neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:90) [neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:35) [neo4j-4.2.3.jar:4.2.3]
        Caused by: java.lang.RuntimeException: Fail to start 'DatabaseId{00000000[system]}' since transaction logs were found, while database files are missing.
                at org.neo4j.kernel.database.Database.validateLogsAndStoreAbsence(Database.java:546) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.database.Database.validateStoreAndTxLogs(Database.java:538) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.database.Database.start(Database.java:419) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.startDatabase(AbstractDatabaseManager.java:187) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.DefaultDatabaseManager.startDatabase(DefaultDatabaseManager.java:152) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.DefaultDatabaseManager.startDatabase(DefaultDatabaseManager.java:36) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.forEachDatabase(AbstractDatabaseManager.java:165) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.startAllDatabases(AbstractDatabaseManager.java:112) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.start(AbstractDatabaseManager.java:106) ~[neo4j-4.2.3.jar:4.2.3]
                ... 8 more
        Suppressed: org.neo4j.graphdb.DatabaseShutdownException: This database is shutdown.
                at org.neo4j.kernel.availability.DatabaseAvailabilityGuard.assertDatabaseAvailable(DatabaseAvailabilityGuard.java:172) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginKernelTransaction(GraphDatabaseFacade.java:197) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransactionInternal(GraphDatabaseFacade.java:176) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:122) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:116) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:104) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTx(GraphDatabaseFacade.java:99) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractSystemGraphComponent.detect(AbstractSystemGraphComponent.java:118) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractSystemGraphComponent.initializeSystemGraph(AbstractSystemGraphComponent.java:93) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.SystemGraphComponents.initializeSystemGraph(SystemGraphComponents.java:92) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.DefaultSystemGraphInitializer.initializeSystemGraph(DefaultSystemGraphInitializer.java:41) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.SystemGraphInitializer.start(SystemGraphInitializer.java:29) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.3.jar:4.2.3]
                at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:163) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:36) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:134) [neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:90) [neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:35) [neo4j-4.2.3.jar:4.2.3]
        Caused by: java.lang.RuntimeException: Fail to start 'DatabaseId{00000000[system]}' since transaction logs were found, while database files are missing.
                at org.neo4j.kernel.database.Database.validateLogsAndStoreAbsence(Database.java:546) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.database.Database.validateStoreAndTxLogs(Database.java:538) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.kernel.database.Database.start(Database.java:419) ~[neo4j-kernel-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.startDatabase(AbstractDatabaseManager.java:187) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.DefaultDatabaseManager.startDatabase(DefaultDatabaseManager.java:152) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.DefaultDatabaseManager.startDatabase(DefaultDatabaseManager.java:36) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.forEachDatabase(AbstractDatabaseManager.java:165) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.startAllDatabases(AbstractDatabaseManager.java:112) ~[neo4j-4.2.3.jar:4.2.3]
                at org.neo4j.dbms.database.AbstractDatabaseManager.start(AbstractDatabaseManager.java:106) ~[neo4j-4.2.3.jar:4.2.3]
                ... 8 more
Caused by: java.lang.RuntimeException: Fail to start 'DatabaseId{00000000[system]}' since transaction logs were found, while database files are missing.
        at org.neo4j.kernel.database.Database.validateLogsAndStoreAbsence(Database.java:546) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.database.Database.validateStoreAndTxLogs(Database.java:538) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.database.Database.start(Database.java:419) ~[neo4j-kernel-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.AbstractDatabaseManager.startDatabase(AbstractDatabaseManager.java:187) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.DefaultDatabaseManager.startDatabase(DefaultDatabaseManager.java:152) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.DefaultDatabaseManager.startDatabase(DefaultDatabaseManager.java:36) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.AbstractDatabaseManager.forEachDatabase(AbstractDatabaseManager.java:165) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.AbstractDatabaseManager.startAllDatabases(AbstractDatabaseManager.java:112) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.dbms.database.AbstractDatabaseManager.start(AbstractDatabaseManager.java:106) ~[neo4j-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.2.3.jar:4.2.3]
        at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:198) ~[neo4j-4.2.3.jar:4.2.3]
        ... 5 more
2021-02-11 21:45:32.746+0000 INFO  Neo4j Server shutdown initiated by request

有什么线索可以做什么吗?手动删除数据文件夹的全部内容并没有多大帮助,因为对 db 的身份验证,以允许导入不再起作用。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    使用 Neo4j 4+,您需要删除:

    /data/databases/<your_db_name>
    /data/transactions/<your_db_name>
    

    【讨论】:

      猜你喜欢
      • 2017-09-28
      • 2016-09-16
      • 2023-01-16
      • 1970-01-01
      • 2019-07-13
      • 2013-01-18
      • 2010-09-27
      • 1970-01-01
      • 2013-03-04
      相关资源
      最近更新 更多