neo4j-shell无法连接到neo4j服务器 [英] neo4j-shell can not connect to neo4j Server

查看:210
本文介绍了neo4j-shell无法连接到neo4j服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用neo4j(v3.1.0)的docker版本,并且在使用neo4j-shell连接到neo4j服务器时遇到困难.

I'm using docker version of neo4j (v3.1.0) and I'm having difficulties connecting to neo4j server using neo4j-shell.

在运行neo4r:3.1.0 docker 的实例后,我在容器:

After running an instance of neo4r:3.1.0 docker, I run a bash inside the container:

$ docker exec -it neo4j /bin/bash

然后从那里尝试像这样运行neo4j-shell:

And from there I try to run the neo4j-shell like this:

/var/lib/neo4j/bin/neo4j-shell

但是它出错了:

$ /var/lib/neo4j/bin/neo4j-shell 
ERROR (-v for expanded information):
    Connection refused

 -host      Domain name or IP of host to connect to (default: localhost)
 -port      Port of host to connect to (default: 1337)
 -name      RMI name, i.e. rmi://<host>:<port>/<name> (default: shell)
 -pid       Process ID to connect to
 -c         Command line to execute. After executing it the shell exits
 -file      File containing commands to execute, or '-' to read from stdin. After executing it the shell exits
 -readonly  Connect in readonly mode (only for connecting with -path)
 -path      Points to a neo4j db path so that a local server can be started there
 -config    Points to a config file when starting a local server

Example arguments for remote:
    -port 1337
    -host 192.168.1.234 -port 1337 -name shell
    -host localhost -readonly
    ...or no arguments for default values
Example arguments for local:
    -path /path/to/db
    -path /path/to/db -config /path/to/neo4j.config
    -path /path/to/db -readonly

我还尝试了其他主机,例如:localhost127.0.0.1172.17.0.6(容器IP).由于它不起作用,我尝试列出容器上的打开端口:

I also tried other hosts like: localhost, 127.0.0.1 and 172.17.0.6 (the container IP). Since it didn't work I tried to list open ports on my container:

$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 :::7687                 :::*                    LISTEN      
tcp        0      0 :::7473                 :::*                    LISTEN      
tcp        0      0 :::7474                 :::*                    LISTEN      
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path

您可以看到没有打开1337!我查看了配置文件,并注释掉了用于指定端口的行,这意味着应将其设置为默认值(1337).

As you can see there's no 1337 open! I've looked into the config file and the line for specifying port is commented out which means it should be set to its default value (1337).

有人可以使用neo4j-shell帮助我连接到neo4j吗?

Can anyone help me connect to neo4j using neo4j-shell?

顺便说一句,neo4j服务器已启动并正在运行,我可以通过端口:7474使用其Web访问.

BTW, the neo4j server is up and running and I can use its web access through port :7474.

推荐答案

在3.1中,似乎默认情况下未启用外壳程序.

In 3.1 it seems the shell is not enabled by default.

您将需要在启用外壳的情况下传递自己的配置文件:

You will need to pass your own configuration file with the shell enabled :

取消注释

# Enable a remote shell server which Neo4j Shell clients can log in to.
dbms.shell.enabled=true

(我发现在docker中更改一个值的工作人员数量很大,但是是的.)

(I find the amount of worker for changing one value in docker quite heavy but yeah..)

或使用新的cypher-shell:

Or use the new cypher-shell :

ikwattro@graphaware-team ~> docker ps -a | grep 'neo4j'
34b3c6718504        neo4j:3.1.0               "/docker-entrypoint.s"   2 minutes ago       Up 2 minutes                 7473-7474/tcp, 7687/tcp   compassionate_easley
2395bd0b1fe9        neo4j:3.1.0               "/docker-entrypoint.s"   5 minutes ago       Exited (143) 3 minutes ago                             cranky_goldstine
949feacbc0f9        neo4j:3.1.0               "/docker-entrypoint.s"   5 minutes ago       Exited (130) 5 minutes ago                             modest_boyd
c38572b078de        neo4j:3.0.6-enterprise    "/docker-entrypoint.s"   6 weeks ago         Exited (0) 6 weeks ago                                 fastfishpim_neo4j_1
ikwattro@graphaware-team ~> docker exec --interactive --tty compassionate_easley bin/cypher-shell
username: neo4j
password: *****
Connected to Neo4j 3.1.0 at bolt://localhost:7687 as user neo4j.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
neo4j>

NB:Cypher-shell支持begincommit:

NB: Cypher-shell supports begin and commit :

neo4j> :begin
neo4j# create (n:Node);
Added 1 nodes, Added 1 labels
neo4j# :commit;
neo4j>

-

neo4j> :begin
neo4j# create (n:Person {name:"John"});
Added 1 nodes, Set 1 properties, Added 1 labels
neo4j# :rollback
neo4j> :commit
There is no open transaction to commit
neo4j>

http://neo4j.com/docs/operations-manual /current/tools/cypher-shell/

这篇关于neo4j-shell无法连接到neo4j服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆