如何处理"启动neo4j失败:地址localhost:7687已经在使用"?

时间:2017-02-24 20:10:43

标签: neo4j

我在Mac OS X Sierra上使用Neo4j Community Edition 3.1.1。每当我尝试通过

在本地启动Neo4j时
neo4j start

我得到以下内容:

Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@a8ba98d' was successfully initialized, but failed to start. 
Please see attached cause exception.

在/usr/local/Cellar/neo4j/3.1.1/libexec/logs/neo4j.log的尾部有以下异常

Caused by: org.neo4j.helpers.PortBindException: Address localhost:7687 is already in use, cannot bind to it.

我试过了

lsof -i -n -P | grep 7687

但它又回来了。

请告知。

2 个答案:

答案 0 :(得分:1)

注意:我将其留为评论,但没有必要的代表。

  • 您确定只安装了一个Neo4j版本吗?
  • 您的安装是否干净,没有以前安装的任何痕迹?
  • 您的JDK版本是否> = 8?
  • 您是否对conf文件进行了其他更改?
  • 您是否安装了桌面应用程序?它可以正常工作吗?

您的lsof可能返回空值,因为某些pid仅对root可见。试试:

sudo netstat -antlp

这应该返回所有打开的端口,检查是否有任何对应于7687的端口。

还尝试将neo4j作为服务运行。我相信它是Mac上的launchctl(我在Linux上使用systemctl),并检查错误是否仍然存在。

欢呼

答案 1 :(得分:0)

我遇到了完全相同的问题,注意 neo4js 如何尝试访问 localhost:7687

我检查了我的 /etc/hosts 文件,果然,我有一个 localhost 的虚假条目(来自之前的测试)。

我将 /etc/hosts 条目改回 localhost 127.0.0.1 保存,然后再次运行。 之后 Neo4j 启动良好。