2016-09-23 5 views
-1

neo4j 3.0.6을 사용하여 원격 쉘에 연결할 수 없기 때문에 이상한 버그가 있습니다. 서버 B (ip address192.168.10). 204)는 Neo4j를 호스팅합니다. 이러한 모든 기계는 neo4j.confNeo4j 3.0.6 : 원격 쉘에 연결할 수 없습니다.

나는이 버그에 파고 여러 가지 상황을 가지고 설정 물론 데비안 8 neo4j 3.0.6

첫째, dbms.shell.enabled=true and dbms.shell.host=0.0.0.0 (포트)를 실행합니다. 나는 기계 A의 쉘 시작 할 때 시작에서

는 :

Shell$ ./neo4j-shell -host 192.168.10.204 -port 1337 -v 

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

neo4j-sh (?)$ return "1"; Connection refused to host: 127.0.1.1; nested exception is: 
    java.net.ConnectException: Connection refused neo4j-sh (?)$ Shell$ 

이 버그에 깊이 파고를 내가 줄을 주석으로 예를 들어 (다른 일을/hosts 파일과 RMI 플래그/등 연주와 시도

내 상황이 지금 127.0.1.1 주소)로 :

/etc/hosts 
127.0.0.1 localhost 
127.0.1.1 debian-jessie.vagrantup.com debian-jessie 

내가 neo4j-wrapper.conf에 추가 플래그는 다음과 같습니다

-Djava.rmi.server.hostname=debian-jessie.vagrantup.com -Dremoting.bind_by_host=false 

이제 Neo4j 내가 원격으로 연결을 시도 할 수 있습니다 시작하는 데 동의, 내가 얻을 :

$ ./neo4j-shell -host 192.168.10.204 -port 1337 -v 
ERROR (-v for expanded information): 
    Unknown host: debian-jessie.vagrantup.com; nested exception is: 
    java.net.UnknownHostException: debian-jessie.vagrantup.com 
java.rmi.UnknownHostException: Unknown host: debian-jessie.vagrantup.com; nested exception is: 
    java.net.UnknownHostException: debian-jessie.vagrantup.com 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:616) 
    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:130) 
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227) 
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) 
    at com.sun.proxy.$Proxy1.welcome(Unknown Source) 
    at org.neo4j.shell.impl.AbstractClient.sayHi(AbstractClient.java:257) 
    at org.neo4j.shell.impl.RemoteClient.findRemoteServer(RemoteClient.java:70) 
    at org.neo4j.shell.impl.RemoteClient.<init>(RemoteClient.java:62) 
    at org.neo4j.shell.impl.RemoteClient.<init>(RemoteClient.java:45) 
    at org.neo4j.shell.ShellLobby.newClient(ShellLobby.java:204) 
    at org.neo4j.shell.StartClient.startRemote(StartClient.java:358) 
    at org.neo4j.shell.StartClient.start(StartClient.java:229) 
    at org.neo4j.shell.StartClient.main(StartClient.java:147) 
Caused by: java.net.UnknownHostException: debian-jessie.vagrantup.com 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at java.net.Socket.connect(Socket.java:538) 
    at java.net.Socket.<init>(Socket.java:434) 
    at java.net.Socket.<init>(Socket.java:211) 
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) 
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148) 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) 

내가 임의의 포트를 시험 알고 (50,587처럼, RMI 포트의 이러한 종류를 사용하는 데 사용) 그들이 내 리눅스에서 기본적으로 닫혀 있다면 그들은 열려 있습니다.

답변

-1
/etc/hosts 
127.0.0.1 localhost 
127.0.1.1 debian-jessie.vagrantup.com debian-jessie 

여기에 문제가 있습니다. debian-jessie.vagrantup.com은 127.0.0.1이 아닌 실제 IP 주소로 매핑되어야합니다. 그렇지 않으면 DNS 시스템에서 제공 할 수 있으면 매핑되지 않아야합니다.

+0

작동하지 않습니다. 127.0.1.1을 IP 주소 (192.168.10.204) 으로 바꿨습니다. 그리고이 주소에 대한 새 호스트를 추가하려고 시도했습니다. 두 가지 전략은 정확히 같은 예외와 함께 작동하지 않습니다. – Ontologiae

+0

해당 호스트 이름이 호스트에 나타나면 예외가 발생한 호스트의 파일을 찾을 수 없습니다. – EJP

+0

EJP : 내 호스트가 귀하의 의견을 듣고 나서입니다. 192.168.10.204 debian-jessie.vagrantup.com debian-jessie 정확하게 동일한 스택 추적을 받았습니다. 나는 너를 믿지 않는다. 너에게 스크린 샷을 줄 수있어. – Ontologiae