我正在尝试使用py2neo插入/更新图形db(~500K节点和关系)。在此过程的某个地方,交易失败了。 neo4j坠毁了。根据日志文件 - 根本原因报告为
"引起:java.io.IOException:文件太大"
重新启动neo4j服务器不起作用。
"无法在120秒内启动"
console.log>> 2015-01-04 03:29:40.061 + 0000 INFO [API]将启动超时设置为:120000ms,基于-1 检测到错误地关闭了数据库,执行恢复..
试图关闭服务器 - 执行干净的退出。得到以下错误。
"引起:java.io.IOException:文件太大"
./ neo4j-shell -path ../data/graph.db -c quit -v
ERROR (-v for expanded information): Error starting org.neo4j.kernel.EmbeddedGraphDatabase,
/media/shard02/neo4j-2.1.6/bin /../数据/ graph.db java.lang.RuntimeException:启动时出错 org.neo4j.kernel.EmbeddedGraphDatabase, /media/shard02/neo4j-2.1.6/bin/../data/graph.db at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:366) 在 org.neo4j.kernel.EmbeddedGraphDatabase。(EmbeddedGraphDatabase.java:59) 在 org.neo4j.graphdb.factory.GraphDatabaseFactory $ 1.newDatabase(GraphDatabaseFactory.java:91) 在 org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:181) 在 org.neo4j.shell.kernel.GraphDatabaseShellServer.instantiateGraphDb(GraphDatabaseShellServer.java:167) 在 org.neo4j.shell.kernel.GraphDatabaseShellServer。(GraphDatabaseShellServer.java:63) 在 org.neo4j.shell.StartClient.tryStartLocalServerAndClient(StartClient.java:239) 在org.neo4j.shell.StartClient.startLocal(StartClient.java:226)at org.neo4j.shell.StartClient.start(StartClient.java:158)at org.neo4j.shell.StartClient.main(StartClient.java:120)引起: org.neo4j.kernel.lifecycle.LifecycleException:Component ' org.neo4j.kernel.impl.transaction.XaDataSourceManager@66c9c89f'是 已成功初始化,但未能启动。请参照附件 引起异常。在 org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:513) 在org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 在 org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:343) ... 9更多引起:org.neo4j.kernel.lifecycle.LifecycleException: 零件 ' org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@1bf0eebd'是 已成功初始化,但未能启动。请参照附件 引起异常。在 org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:513) 在org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 在 org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:164) 在 org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:507) ... 11更多引起: org.neo4j.kernel.impl.nioneo.store.UnderlyingStorageException:Unable 写记录[1248649] @ [42454066] at org.neo4j.kernel.impl.nioneo.store.PersistenceRow.writeContents(PersistenceRow.java:198) 在 org.neo4j.kernel.impl.nioneo.store.PersistenceRow.force(PersistenceRow.java:214) 在 org.neo4j.kernel.impl.nioneo.store.LockableWindow.writeOutAndClose(LockableWindow.java:60) 在 org.neo4j.kernel.impl.nioneo.store.LockableWindow.writeOutAndCloseIfFree(LockableWindow.java:162) 在 org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.release(PersistenceWindowPool.java:241) 在 org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.releaseWindow(CommonAbstractStore.java:557) 在 org.neo4j.kernel.impl.nioneo.store.RelationshipStore.updateRecord(RelationshipStore.java:169) 在 org.neo4j.kernel.impl.nioneo.xa.command.NeoXaCommandExecutor $ NeoCommandExecutor.visitRelationshipCommand(NeoXaCommandExecutor.java:99) 在 org.neo4j.kernel.impl.nioneo.xa.command.Command $ RelationshipCommand.accept(Command.java:202) 在 org.neo4j.kernel.impl.nioneo.xa.command.NeoXaCommandExecutor.execute(NeoXaCommandExecutor.java:55) 在 org.neo4j.kernel.impl.nioneo.xa.NeoStoreTransaction.executeModified(NeoStoreTransaction.java:916) 在 org.neo4j.kernel.impl.nioneo.xa.NeoStoreTransaction.applyCommit(NeoStoreTransaction.java:683) 在 org.neo4j.kernel.impl.nioneo.xa.NeoStoreTransaction.doCommit(NeoStoreTransaction.java:604) 在 org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:327) 在 org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.injectOnePhaseCommit(XaResourceManager.java:460) 在 org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog $ LogApplier.onePhaseCommitEntry(XaLogicalLog.java:1580) 在 org.neo4j.kernel.impl.nioneo.xa.command.LogHandler $ Filter.onePhaseCommitEntry(LogHandler.java:74) 在 org.neo4j.kernel.impl.transaction.xaframework.EntryCountingLogHandler.onePhaseCommitEntry(EntryCountingLogHandler.java:59) 在 org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog $ RecoveryConsumer.accept(XaLogicalLog.java:1798) 在 org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog $ RecoveryConsumer.accept(XaLogicalLog.java:1774) 在 org.neo4j.kernel.impl.nioneo.xa.RecoveryLogDeserializer $ RecoveryCursor.next(RecoveryLogDeserializer.java:72) 在 org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.doInternalRecovery(XaLogicalLog.java:722) 在 org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:284) 在 org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:239) 在org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openLogicalLog(XaContainer.java:64) 在org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:426) 在org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:507) ......还有14个 引起:java.io.IOException:文件太大 at sun.nio.ch.FileDispatcherImpl.pwrite0(Native Method) at sun.nio.ch.FileDispatcherImpl.pwrite(FileDispatcherImpl.java:66) 在sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:89) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.FileChannelImpl.writeInternal(FileChannelImpl.java:739) at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:724) 在org.neo4j.kernel.impl.nioneo.store.StoreFileChannel.write(StoreFileChannel.java:51) 在org.neo4j.kernel.impl.nioneo.store.PersistenceRow.writeContents(PersistenceRow.java:186) ......还有40多个
我几乎陷入困境,如果可以提出任何指示,我将非常感激。
答案 0 :(得分:0)
我遇到了同样的问题,我服务器上用户的文件大小太小了。 查看下面的链接并尝试为您的服务器执行此操作,密钥位于limits.conf
中http://www.cyberciti.biz/faq/file-size-limit-exceeded-error-under-linux-and-solution/