Neo4j 错误指示为“错误”;执行必要的操作(tx恢复/重新启动)";。这是怎么做到的? 底座安装
我在Amazon EC2上有一个m1.large Neo4j服务器实例,我根据以下说明进行了设置: 我没有以任何方式改变设置 几周来,它一直工作得几乎完美无缺,偶尔还会重新启动。然而,今天早上(2013年3月13日),我无法从我的网络应用程序连接到它 尝试#1:重新启动 从EC2管理控制台通过Neo4j服务器实例重新启动。重新启动后,我的web应用程序似乎能够进行初始连接(通过Neoid和Neography),因此我的web应用程序至少可以启动 然而,所有的交易都失败了。我尝试在webadmin/的7474端口访问Neo4j的管理控制台,我发现了一个错误,尤其是:Neo4j 错误指示为“错误”;执行必要的操作(tx恢复/重新启动)";。这是怎么做到的? 底座安装,neo4j,Neo4j,我在Amazon EC2上有一个m1.large Neo4j服务器实例,我根据以下说明进行了设置: 我没有以任何方式改变设置 几周来,它一直工作得几乎完美无缺,偶尔还会重新启动。然而,今天早上(2013年3月13日),我无法从我的网络应用程序连接到它 尝试#1:重新启动 从EC2管理控制台通过Neo4j服务器实例重新启动。重新启动后,我的web应用程序似乎能够进行初始连接(通过Neoid和Neography),因此我的web应用程序至少可以启动 然而,所有的交易都失败了。我尝试在webadmi
javax.transaction.SystemException: TM has encountered some problem, please perform neccesary action (tx recovery/restart)
重新启动不是解决方案
访问web面板时尝试#1的完整错误跟踪:
尝试#2:恢复
我发现了一个似乎与此相关的问题,这表明在控制台模式下启动neo4j将允许在不超时的情况下进行完全恢复,因此我尝试了它,结果是严重的,从而进一步说明了我的问题:
看起来这是根本原因:
Caused by: java.io.IOException: Unknown xid for identifier 8964
尝试2的完整错误跟踪运行sudo/var/lib/neo4j/bin/neo4j控制台
:
尝试#3:删除并重新开始
这是生产前的数据,所以我有大刀阔斧的措施。我删除了数据库,重新开始
sudo rm -rf /var/lib/neo4j/data/graph.db/
sudo sudo /var/lib/neo4j/bin/neo4j start
我能够创建大约50k个rels和50k个节点,最多几个小时后错误就出现了
尝试4:再次恢复
我停止了Neo4j服务器,并将其作为控制台加载,以进行恢复
尝试的完整跟踪#4恢复:运行sudo/var/lib/neo4j/bin/neo4j控制台
:
恢复工作正常,所以我作为守护进程重新启动了服务器
尝试的完整跟踪#4启动守护进程:运行sudo/var/lib/neo4j/bin/neo4j启动
:
它工作了几分钟。然后再次返回此错误:
TM has encountered some problem, please perform neccesary action (tx recovery/restart)
Neography尝试执行脚本时发现的新错误的完整跟踪:
调试
我现在认为,尽管使用了作为以下内容的一部分安装的vanilla Neo4j,但此配置仍存在一些问题。当我看到这些令人烦恼的事情时:
信息。。。找不到资源[logback.groovy]
信息。。。找不到资源[logback test.xml]
错误。。。找不到与[custom logback.xml]对应的资源
这个呢
WARNING! Deprecated configuration options used. See manual for details
cannot configure writers and searchers individually since they go together
更新:我已经为这些默认配置问题提交了一个解决方案。问题是根设备空间不足
我已经解决了我的问题,下面是修复的完整历史记录和说明:
问题是根设备的空间不足
我已经解决了我的问题,下面是修复的完整历史记录和说明:
今天,我还遇到了相同的错误消息TM遇到了一些问题,请执行必要的操作(tx恢复/重新启动)
当在1M节点和2M rels的数据库上执行/neo4j shell的以下密码查询时:cypher 1.9 start n=node:node_auto_index('n_id_customer:')将n--()与n匹配,count(*)as cnt,其中cnt>10000,n匹配n-[r](),其中Id(r)%101删除r代码>我认为您应该先尝试重新启动。然后将Neo4j引导到控制台模式,尝试恢复。请检查并共享data/graph.db目录中的messages.log。console.log是应用程序级服务器日志,低级数据库信息位于messages.log中。谢谢我已经解决了我的问题,修复的完整历史记录在这里:今天我还遇到了相同的错误消息TM遇到了一些问题,请执行必要的操作(tx恢复/重新启动)
从/neo4j shell对1M个节点和2M个rels的数据库执行以下密码查询时:cypher 1.9 start n=node:node_auto_index('n_id_customer:')将n--()与n匹配,将(*)计数为cnt,其中cnt>10000与n匹配n-[r](),其中id(r)%101删除r代码>我认为您应该先尝试重新启动。然后将Neo4j引导到控制台模式,尝试恢复。请检查并共享data/graph.db目录中的messages.log。console.log是应用程序级服务器日志,低级数据库信息位于messages.log中。谢谢,我已经解决了我的问题,修复的完整历史记录如下: