我在Amazon EC2上有一个m1.large Neo4j Server实例,我根据这里的说明进行设置: http://www.neo4j.org/develop/ec2
我没有以任何方式改变该设置。
它几乎完美地工作了几个星期,偶尔重启。但是,我今天早上(2013年3月13日)无法通过我的网络应用程序连接到它。
从EC2管理控制台通过Neo4j Server实例重新启动。重新启动后,我的网络应用程序似乎能够进行初始连接(通过Neoid和Neography),因此我的网络应用程序至少会启动。
然而,所有交易都失败了。我尝试在webadmin /上访问端口7474上的Neo4j管理控制台,这是我看到的错误,特别是:
javax.transaction.SystemException: TM has encountered some problem, please perform neccesary action (tx recovery/restart)
重新启动不是解决方案。
访问网络面板时,尝试#1的完整错误跟踪:GIST #1。
我发现thread引用了一个看似相关的问题,表明在控制台模式下启动neo4j可以在没有超时的情况下完全恢复,所以我尝试了SEVERE
结果,脱落更清楚我的问题:
看起来这是根本原因:
Caused by: java.io.IOException: Unknown xid for identifier 8964
尝试#2的完整错误跟踪正在运行sudo /var/lib/neo4j/bin/neo4j console
:GIST #2
这是预生产数据,所以我有奢侈的措施。我删除了数据库并重新开始。
sudo rm -rf /var/lib/neo4j/data/graph.db/
sudo sudo /var/lib/neo4j/bin/neo4j start
我能够创造大约50k的rels& 50k节点,然后在最多几个小时后出现错误。
我停止了Neo4j服务器,并将其作为控制台加载 - 进行恢复。
完全跟踪尝试#4恢复:正在运行sudo /var/lib/neo4j/bin/neo4j console
:GIST #3
恢复工作,所以我重新启动服务器作为守护进程。
完全跟踪尝试#4启动守护程序:正在运行sudo /var/lib/neo4j/bin/neo4j start
:GIST #4
它工作了几分钟。然后再次回到此错误:
TM has encountered some problem, please perform neccesary action (tx recovery/restart)
从Neography尝试执行脚本看到的新错误的完整跟踪:GIST #5
我现在认为尽管使用了作为以下this guide for an m1.large server的一部分安装的香草Neo4j,但这种配置存在一些问题。当我start the server in console mode这些是我看到的令人烦恼的事情时:
INFO ... Could NOT find resource [logback.groovy]
INFO ... Could NOT find resource [logback-test.xml]
ERROR ... Could not find resource corresponding to [custom-logback.xml]
这一个
WARNING! Deprecated configuration options used. See manual for details
cannot configure writers and searchers individually since they go together
更新:我已为这些默认配置问题提交了separate issue。
答案 0 :(得分:1)
问题是根设备空间不足。
我已经解决了我的问题,所以这里有一个完整的历史记录和修复解释: http://github.com/neo4j-contrib/neo4j-puppet/issues/3