Ubuntu neo4j 1.6.M02数据库似乎已损坏;我如何恢复它?
我在ubuntu机器上有一个neo4j实例,它在服务启动时关闭。 因此,现在服务拒绝启动:Ubuntu neo4j 1.6.M02数据库似乎已损坏;我如何恢复它?,ubuntu,neo4j,corrupt-data,Ubuntu,Neo4j,Corrupt Data,我在ubuntu机器上有一个neo4j实例,它在服务启动时关闭。 因此,现在服务拒绝启动: Starting Neo4j Server... process [3807]... waiting for server to be ready.. BAD. Neo4j Server may have failed to start, please check the logs. 还有日志 Feb 16, 2012 4:44:51 PM org.neo4j.server.logging.Logger
Starting Neo4j Server... process [3807]... waiting for server to be ready.. BAD.
Neo4j Server may have failed to start, please check the logs.
还有日志
Feb 16, 2012 4:44:51 PM org.neo4j.server.logging.Logger log
INFO: Store files missing, or not in suitable state for upgrade. Leaving this problem for main server process to resolve.
Feb 16, 2012 4:44:51 PM org.neo4j.server.logging.Logger log
INFO: Starting Neo Server on port [7474] with [20] threads available
Feb 16, 2012 4:44:51 PM org.mortbay.log.Slf4jLog info
INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
Feb 16, 2012 4:44:51 PM org.neo4j.server.logging.Logger log
INFO: Using database at /home/dan/personal/neo4j-community-1.6.M02/data/graph.db
Feb 16, 2012 4:44:52 PM org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog doInternalRecovery
INFO: Non clean shutdown detected on log [/home/dan/personal/neo4j-community-1.6.M02/data/graph.db/nioneo_logical.log.1]. Recovery started ...
你知道怎么做吗
sudo./bin/neo4j shell-path data/graph.db/
,这是输出
Feb 16, 2012 3:57:16 PM org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog doInternalRecovery
INFO: Non clean shutdown detected on log [/home/dan/personal/neo4j-community-1.6.M02/data/graph.db/nioneo_logical.log.1]. Recovery started ...
org.neo4j.graphdb.TransactionFailureException: Could not create data source [nioneodb], see nested exception for cause of error
at org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:161)
at org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:104)
at org.neo4j.kernel.EmbeddedGraphDbImpl.<init>(EmbeddedGraphDbImpl.java:190)
at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:78)
at org.neo4j.shell.kernel.GraphDatabaseShellServer.instantiateGraphDb(GraphDatabaseShellServer.java:85)
at org.neo4j.shell.kernel.GraphDatabaseShellServer.<init>(GraphDatabaseShellServer.java:57)
at org.neo4j.shell.StartClient.tryStartLocalServerAndClient(StartClient.java:286)
at org.neo4j.shell.StartClient.startLocal(StartClient.java:219)
at org.neo4j.shell.StartClient.start(StartClient.java:159)
at org.neo4j.shell.StartClient.main(StartClient.java:108)
Caused by: java.lang.RuntimeException: Unexpected Exception
at org.neo4j.helpers.Exceptions.launderedException(Exceptions.java:78)
at org.neo4j.helpers.Exceptions.launderedException(Exceptions.java:48)
at org.neo4j.helpers.Exceptions.launderedException(Exceptions.java:43)
at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.<init>(NeoStoreXaDataSource.java:216)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.neo4j.kernel.impl.transaction.XaDataSourceManager.create(XaDataSourceManager.java:77)
at org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:155)
... 9 more
Caused by: java.io.IOException: Inject start failed, xid: GlobalId[NEOKERNL|3992629294259512899|39], BranchId[ 52 49 52 49 52 49 ] already injected
at org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.injectStart(XaResourceManager.java:118)
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.applyStartEntry(XaLogicalLog.java:486)
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.applyEntry(XaLogicalLog.java:445)
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.doInternalRecovery(XaLogicalLog.java:815)
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:241)
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:187)
at org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openLogicalLog(XaContainer.java:120)
at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.<init>(NeoStoreXaDataSource.java:177)
... 15 more
ERROR (-v for expanded information):
Could not create data source [nioneodb], see nested exception for cause of error
-host Domain name or IP of host to connect to (default: localhost)
-port Port of host to connect to (default: 1337)
-name RMI name, i.e. rmi://<host>:<port>/<name> (default: shell)
-pid Process ID to connect to
-c Command line to execute. After executing it the shell exits
-readonly Connect in readonly mode
-path Points to a neo4j db path so that a local server can be started there
-config Points to a config file when starting a local server
Example arguments for remote:
-port 1337
-host 192.168.1.234 -port 1337 -name shell
-host localhost -readonly
...or no arguments for default values
Example arguments for local:
-path /path/to/db
-path /path/to/db -config /path/to/neo4j.config
-path /path/to/db -readonly
2012年2月16日下午3:57:16 org.neo4j.kernel.impl.transaction.xaframework.xalogicallo doInternalRecovery
信息:在日志[/home/dan/personal/neo4j-community-1.6.M02/data/graph.db/nioneo_logical.log.1]上检测到非干净关机。恢复开始了。。。
org.neo4j.graphdb.TransactionFailureException:无法创建数据源[NIONODB],请参阅嵌套异常以了解错误原因
位于org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:161)
位于org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:104)
位于org.neo4j.kernel.EmbeddedGraphDbImpl.(EmbeddedGraphDbImpl.java:190)
位于org.neo4j.kernel.EmbeddedGraphDatabase。(EmbeddedGraphDatabase.java:78)
位于org.neo4j.shell.kernel.GraphDatabaseShellServer.InstanceGraphDB(GraphDatabaseShellServer.java:85)
位于org.neo4j.shell.kernel.GraphDatabaseShellServer。(GraphDatabaseShellServer.java:57)
位于org.neo4j.shell.StartClient.tryStartLocalServerAndClient(StartClient.java:286)
位于org.neo4j.shell.StartClient.startocal(StartClient.java:219)
位于org.neo4j.shell.StartClient.start(StartClient.java:159)
位于org.neo4j.shell.StartClient.main(StartClient.java:108)
原因:java.lang.RuntimeException:意外异常
位于org.neo4j.helpers.Exceptions.launderdexception(Exceptions.java:78)
位于org.neo4j.helpers.Exceptions.launderdexception(Exceptions.java:48)
位于org.neo4j.helpers.Exceptions.launderdexception(Exceptions.java:43)
位于org.neo4j.kernel.impl.nioneo.xa.neostorexadasource(neostorexadasource.java:216)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于org.neo4j.kernel.impl.transaction.XaDataSourceManager.create(XaDataSourceManager.java:77)
位于org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:155)
... 9更多
原因:java.io.IOException:注入启动失败,xid:GlobalId[neocernl | 3992629294259512899 | 39],BranchId[52 49 52 49]已注入
位于org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.injectStart(XaResourceManager.java:118)
位于org.neo4j.kernel.impl.transaction.xaframework.xalogicallo.applyStartEntry(xalogicallo.java:486)
位于org.neo4j.kernel.impl.transaction.xaframework.xalogicallo.applyEntry(xalogicallo.java:445)
位于org.neo4j.kernel.impl.transaction.xaframework.xalogicallo.doInternalRecovery(xalogicallo.java:815)
位于org.neo4j.kernel.impl.transaction.xaframework.xalogicallo.open(xalogicallo.java:241)
位于org.neo4j.kernel.impl.transaction.xaframework.xalogicallo.open(xalogicallo.java:187)
位于org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openlogicallo(XaContainer.java:120)
位于org.neo4j.kernel.impl.nioneo.xa.neostorexadasource(neostorexadasource.java:177)
... 还有15个
错误(-v表示扩展信息):
无法创建数据源[NIONODB],请参阅嵌套异常以了解错误原因
-要连接到的主机的主机域名或IP(默认值:localhost)
-要连接到的主机的端口(默认值:1337)
-名称RMI名称,即RMI://:/(默认值:shell)
-要连接到的pid进程ID
-c命令行执行。执行后,shell退出
-只读模式下的只读连接
-path指向neo4j db路径,以便可以在那里启动本地服务器
-config在启动本地服务器时指向配置文件
远程文件的示例参数:
-1337端口
-主机192.168.1.234-端口1337-名称外壳
-主机localhost-只读
…或没有默认值的参数
局部变量的示例参数:
-path/path/to/db
-path/path/to/db-config/path/to/neo4j.config
-path/path/to/db-只读
好的,很遗憾,您运行的是1.6.M02,它有一个已知的问题,可能会使您的数据库处于这种状态。1.6没有这个问题。neo4j邮件列表上还有一个db有这个问题,所以我创建了这个工具:修复这样一个损坏的日志。你觉得编译和运行它舒服吗?否则,我可以将一个打包的罐子放在一起,并附带一个脚本,如:
美元/修复双启动记录问题我的/db
不知何故寄给你。你好,马蒂亚斯,请看一下我的最新问题。干杯我担心我做错了什么;现在我明白了,这是一个众所周知的问题。非常感谢!