2016-03-28 18 views
0

ここで見つけたCloudFormationテンプレート(ubuntuホスト)を使用してneo4jの新しいEC2インスタンスを作成しました。 https://github.com/neo4j-contrib/ec2neo接続が確立しているにもかかわらず、neo4j-shellからのコマンドレスポンスがありません

正常に動作するようにWebインターフェイスがあり、DBが稼働しています。

ローカルのdevマシンからneo4j-shellに接続しようとしましたが、リモートEC2サーバへの接続を確立できました。

$ neo4j-shell -host ec2-xx-xx-xx-xx.compute-1.amazonaws.com 

Welcome to the Neo4j Shell! Enter 'help' for a list of commands 
NOTE: Remote Neo4j graph database service 'shell' at port 1337 

neo4j-sh (?)$ 

netstat接続がこの時点で

tcp6 0 0 xx.xx.xx.xx:1337 my.local.ip.add:13785 ESTABLISHED

ESTABLISHEDをされていることを確認し、私は help、または任意のNeo4jのコマンドを入力し、私は戻って、サーバーからの応答がありません。コンソールはちょうどハングアップします。サーバー上でneo4jサービスを停止するとすぐに、クライアントコンソールで次の例外が発生します。

java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: 
    java.io.EOFException 
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:229) 
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162) 
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194) 
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148) 
    at com.sun.proxy.$Proxy1.interpretLine(Unknown Source) 
    at org.neo4j.shell.impl.AbstractClient.evaluate(AbstractClient.java:149) 
    at org.neo4j.shell.impl.AbstractClient.evaluate(AbstractClient.java:133) 
    at org.neo4j.shell.impl.AbstractClient.grabPrompt(AbstractClient.java:101) 
    at org.neo4j.shell.StartClient.grabPromptOrJustExecuteCommand(StartClient.java:383) 
    at org.neo4j.shell.StartClient.startRemote(StartClient.java:330) 
    at org.neo4j.shell.StartClient.start(StartClient.java:196) 
    at org.neo4j.shell.StartClient.main(StartClient.java:135) 
Caused by: java.io.EOFException 
    at java.io.DataInputStream.readByte(DataInputStream.java:267) 
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215) 
    ... 11 more 

私はneo4j-wrapper.confに次の変更を行った:

wrapper.java.additional=-Djava.rmi.server.hostname=ec2-xx-xx-xx-xx.compute-1.amazonaws.com

すべてiptables

変数を排除するために、 "無効" です。私は neo4j-shellをサーバ上で127.0.0.1に実行することができます

ネットワーク設定またはneo4jサーバ設定には何がありますか?

+0

これは、サーバで.policy/permissionsの問題を示す可能性があります。 – EJP

答えて

0

インスタンスにsshを実行して実行してください。基盤となるJava RMIのポート処理のために、遠隔接続は長い間苦労してきました。

httpと認証をサポートするcycliを試すこともできます。

+0

ええ、neo4j-shell用のRMIに関する他のすべてのSOの問題と同様、https://github.com/neo4j/neo4j/issues/1432に接続されているようです。私は接続を確立するのに成功していたので私の考えは違っていたと思ったが、後に内部IP解決がまだ機能していないことに気づいた。 – changingrainbows

+0

EC2のneo4jインスタンスへのcycli接続に問題があり、ファイアウォール/ポートのブロックがありません。 CycliとEC2がホストするneo4jに接続する際の指針/サイト/ブロググラフェンは一日中それを使用するので、明らかにそれは動作します.... – changingrainbows