1

ベースのインストール

Amazon EC2 に m1.large Neo4j サーバー インスタンスがあり、次の手順に従ってセットアップします: http://www.neo4j.org/develop/ec2

私はその設定から決して変わりませんでした。

時折再起動して、数週間ほとんど問題なく動作しています。しかし、今朝 (2013 年 3 月 13 日)、Web アプリから接続できませんでした。

試行 #1: 再起動

EC2 管理コンソールから Neo4j Server インスタンス経由で再起動します。再起動した後、Web アプリは (Neoid & Neography を介して) 初期接続を確立できるように見えたので、Web アプリは少なくとも起動します。

ただし、すべてのトランザクションは失敗していました。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 console: GIST #2

試行 #3: 削除して最初からやり直す

これは制作前のデータなので、抜本的な対策を講じる余裕があります。データベースを削除して最初からやり直しました。

sudo rm -rf /var/lib/neo4j/data/graph.db/
sudo sudo /var/lib/neo4j/bin/neo4j start

約 50,000 の rel と 50,000 のノードを作成できましたが、せいぜい数時間後にエラーが再発しました。

試行 #4: 再び回復

Neo4j サーバーを停止し、コンソールとしてロードしました - 回復を行います。

Attempt #4 recovery の完全なトレース: running 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

デバッグ

m1.large サーバー用のこのガイドに従う一環としてインストールされたバニラ 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