リンク先の同じ問題に関する別の質問を確認しました
Linux ポートはローカルでは開いているが、外部では開いていない
neo4j-shell -ホスト 127.0.0.1 -ポート 1337
エラーが発生します
root@ip-10-142-85-146:~# neo4j-shell -v -host 127.0.0.1 -port 1337
ERROR (-v for expanded information):
Connection refused
java.rmi.ConnectException: Connection refused to host: 10.142.85.146; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
at com.sun.proxy.$Proxy1.welcome(Unknown Source)
at org.neo4j.shell.impl.AbstractClient.sayHi(AbstractClient.java:215)
at org.neo4j.shell.impl.RemoteClient.findRemoteServer(RemoteClient.java:63)
at org.neo4j.shell.impl.RemoteClient.<init>(RemoteClient.java:55)
at org.neo4j.shell.impl.RemoteClient.<init>(RemoteClient.java:43)
at org.neo4j.shell.ShellLobby.newClient(ShellLobby.java:165)
at org.neo4j.shell.StartClient.startRemote(StartClient.java:297)
at org.neo4j.shell.StartClient.start(StartClient.java:175)
at org.neo4j.shell.StartClient.main(StartClient.java:120)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 14 more
telnet 127.0.0.1 1337 は正常に動作しますが、telnet 10.142.85.146 1337 は失敗します
root@ip-10-142-85-146:~# telnet 10.142.85.146 1337
Trying 10.142.85.146...
telnet: Unable to connect to remote host: Connection refused
root@ip-10-142-85-146:~#
10.142.85.146へのpingも失敗する
root@ip-10-142-85-146:~# ping 10.142.85.146
PING 10.142.85.146 (10.142.85.146) 56(84) bytes of data.
^C
--- 10.142.85.146 ping statistics ---
11 packets transmitted, 0 received, 100% packet loss, time 10018ms
ここでいくつかの類似点が見られます。neo4j-shellは10.142.85.146を探していますが、見つけることができません。
パブリックIPアドレスでは正常に動作しますが、問題が発生するのはローカルアドレスです
助けていただければ幸いです。別の質問を始めたくなかったので、同じスレッドに書き込みました
追加情報最も奇妙なのは、AWSコンソールにプライベートが10.142.65.14と表示されていることです。これが10.142.85.146にどのように変換されるのかわかりません。
答え1
AWS の命名規則に従って、現在の IP とホスト名で /etc/hosts を更新したところ、すべて正常に動作するようになりました。
起動するたびに自動的に更新するためにこの投稿を見ています http://www.onepwr.org/2012/04/26/chef-recipe-to-setup-up-a-new-nodes-fqdn-hostname-etc-properly/