1

基础安装

我在 Amazon EC2 上有一个 m1.large Neo4j 服务器实例,我根据此处的说明进行设置:http: //www.neo4j.org/develop/ec2

我没有以任何方式改变该设置。

它已经工作了几个星期,几乎完美无瑕,偶尔会重新启动。但是,今天早上(2013 年 3 月 13 日)我无法从我的网络应用程序连接到它。

尝试#1:重新启动

从 EC2 管理控制台通过 Neo4j 服务器实例重新启动。重新启动后,我的网络应用程序似乎能够建立初始连接(通过 Neoid & Neography),因此我的网络应用程序至少可以启动。

然而,所有交易都失败了。我尝试在 webadmin/ 的端口 7474 上访问 Neo4j 的管理控制台,这是我看到的错误,特别是:

javax.transaction.SystemException: TM has encountered some problem, please perform neccesary action (tx recovery/restart)

重启不是解决办法。

访问 Web 面板时尝试 #1 的完整错误跟踪: GIST #1

尝试#2:恢复

我发现一个线程引用了一个看似相关的问题,这表明在控制台模式下启动 neo4j 将允许完全恢复而不会超时,所以我尝试了它,SEVERE结果更加清楚我的问题:

看起来这是根本原因:

Caused by: java.io.IOException: Unknown xid for identifier 8964

尝试 #2运行的完整错误跟踪sudo /var/lib/neo4j/bin/neo4j consoleGIST #2

尝试#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 consoleGIST #3

恢复工作,所以我重新启动服务器作为守护进程。

尝试 #4 启动守护进程的完整跟踪:正在运行sudo /var/lib/neo4j/bin/neo4j startGIST #4

它工作了几分钟。然后再次回到这个错误:

TM has encountered some problem, please perform neccesary action (tx recovery/restart)

从 Neography 执行脚本的尝试中可以看出新错误的完整跟踪:GIST #5

调试

我现在认为,尽管已使用作为m1.large 服务器遵循本指南的一部分安装的 vanilla Neo4j ,但此配置存在一些问题。当我在控制台模式下启动服务器时,这些是我看到的烦人的事情:

  1. INFO ... Could NOT find resource [logback.groovy]
  2. INFO ... Could NOT find resource [logback-test.xml]
  3. ERROR ... Could not find resource corresponding to [custom-logback.xml]
  4. 和这个

    WARNING! Deprecated configuration options used. See manual for details
    cannot configure writers and searchers individually since they go together
    

更新:我已经为这些默认配置问题提交了一个单独的问题。

4

1 回答 1

1

问题是根设备空间不足。

我已经解决了我的问题,所以这里是修复的完整历史和解释:http: //github.com/neo4j-contrib/neo4j-puppet/issues/3

于 2017-03-27T08:22:05.580 回答