Neo4j未运行

rur96b6h  于 2022-11-05  发布在  其他
关注(0)|答案(6)|浏览(311)

当我运行“neo4j status”或“neo4j stop”命令时,显示“Neo4j not running”,但浏览器是可访问的,我可以在数据库上执行所有事务。而且,当我在neo4j.conf上更改数据库并运行neo4j start时,数据库没有更改。

p1tboqfb

p1tboqfb1#

谢谢Govind,你给了我一个开始,我想我找到了问题,因为我不知道neo4j运行的某个pid与/var/run/neo4j/ www.example.com中生成的pid不同neo4j.pid,当我用正在运行的pid覆盖neo4j.pid时,我能够停止neo4j并启动一个干净的进程。

ktca8awb

ktca8awb2#

听起来运行neo4j statusneo4j stop命令的计算机与运行neo4j浏览器服务的计算机不一样。
如果你想控制neo4j浏览器服务,你需要在正确的机器上运行这些命令。

tquggr8v

tquggr8v3#

您是否以root用户身份运行neo4j status?有时,当您以非root用户身份运行neo4j status,而以root用户身份启动它时,它会给予您该消息。

4nkexdtk

4nkexdtk4#

我正在使用“Ubuntu 18.04.3 LTS”和“neo4j-community-3.5.8”。当我进入neo4j的主目录时(我直接从网站下载)

ryevplcw

ryevplcw5#

我只是偶然发现了同样的问题,即neo4j进程正在运行,但neo4j status却不是这样说的。
在我的例子中,这是由于在初始安装/配置过程中的一个事故,导致没有运行文件夹得到创建:由于neo4j PID文件存储在/var/run/neo4j中,因此neo4j status认为该进程没有运行,尽管实际上该进程正在运行。
我能够通过手动终止进程并再次启动neo4j来确认该行为,之后我看到了:

....
Starting Neo4j.
/usr/share/neo4j/bin/neo4j: line 451: /var/run/neo4j/neo4j.pid: No such file or directory

在为neo4j创建run文件夹后,问题就消失了,方法是使用简单的:

(sudo) mkdir /var/run/neo4j
ivqmmu1c

ivqmmu1c6#

我在使用最新的GCP公共图像neo4j-community-1-4-3-6-apoc时遇到了这个问题,该图像使用的是Neo4j Community 4.3.6。
启动行为是status命令认为Neo4j未运行:

$ /usr/share/neo4j/bin/neo4j status
Neo4j is not running.

因此,尝试stop不会执行任何动作,因为系统认为它一开始就没有执行:

$ sudo /usr/share/neo4j/bin/neo4j stop
Neo4j is not running.

但应用程序显然正在运行,curl输出证明了这一点:

$ curl http://localhost:7474/
{
  "bolt_routing" : "neo4j://localhost:7687",
  "transaction" : "http://localhost:7474/db/{databaseName}/tx",
  "bolt_direct" : "bolt://localhost:7687",
  "neo4j_version" : "4.3.6",
  "neo4j_edition" : "community"
}

Neo4j也清楚地出现在正在运行的进程列表中(以下是截断的输出):

$ ps -U neo4j -u neo4j u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
neo4j     1021  0.1  2.9 2202544 111492 ?      Ssl  16:21   0:05 /usr/bin/java -Xmx...
neo4j     1615  1.1 16.6 3269476 625720 ?      Sl   16:21   0:52 /usr/lib/jvm/java-...

要解决此问题,请首先创建缺少的运行目录,并将目录所有者设置为neo4j用户:

sudo mkdir /var/run/neo4j
sudo chown neo4j /var/run/neo4j

然后,通过发送中断(-2)信号停止neo4j的运行示例:

sudo kill -2 1021

再次检查ps,验证其是否正常工作:

$ ps -U neo4j -u neo4j u

启动进程,以neo4j用户身份运行它(同时,设置NEO4J_CONF shell变量指向neo4j.conf所在的目录):

$ sudo -u neo4j env NEO4J_CONF=/etc/neo4j sh -c '/usr/share/neo4j/bin/neo4j start'

验证neo4j是否正在运行,检查活动进程(截断输出):

$ ps -U neo4j -u neo4j u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
neo4j     3803 14.9 15.5 3250848 587740 pts/0  Sl   17:47   0:22 /usr/lib/jvm/java-...

最后,验证status现在与实际情况正确一致:

$ /usr/share/neo4j/bin/neo4j status
Neo4j is running at pid 3803

相关问题