当我运行“neo4j status”或“neo4j stop”命令时,显示“Neo4j not running”,但浏览器是可访问的,我可以在数据库上执行所有事务。而且,当我在neo4j.conf上更改数据库并运行neo4j start时,数据库没有更改。
p1tboqfb1#
谢谢Govind,你给了我一个开始,我想我找到了问题,因为我不知道neo4j运行的某个pid与/var/run/neo4j/ www.example.com中生成的pid不同neo4j.pid,当我用正在运行的pid覆盖neo4j.pid时,我能够停止neo4j并启动一个干净的进程。
ktca8awb2#
听起来运行neo4j status和neo4j stop命令的计算机与运行neo4j浏览器服务的计算机不一样。如果你想控制neo4j浏览器服务,你需要在正确的机器上运行这些命令。
neo4j status
neo4j stop
tquggr8v3#
您是否以root用户身份运行neo4j status?有时,当您以非root用户身份运行neo4j status,而以root用户身份启动它时,它会给予您该消息。
4nkexdtk4#
我正在使用“Ubuntu 18.04.3 LTS”和“neo4j-community-3.5.8”。当我进入neo4j的主目录时(我直接从网站下载)
ryevplcw5#
我只是偶然发现了同样的问题,即neo4j进程正在运行,但neo4j status却不是这样说的。在我的例子中,这是由于在初始安装/配置过程中的一个事故,导致没有运行文件夹得到创建:由于neo4j PID文件存储在/var/run/neo4j中,因此neo4j status认为该进程没有运行,尽管实际上该进程正在运行。我能够通过手动终止进程并再次启动neo4j来确认该行为,之后我看到了:
/var/run/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
ivqmmu1c6#
我在使用最新的GCP公共图像neo4j-community-1-4-3-6-apoc时遇到了这个问题,该图像使用的是Neo4j Community 4.3.6。启动行为是status命令认为Neo4j未运行:
neo4j-community-1-4-3-6-apoc
$ /usr/share/neo4j/bin/neo4j status Neo4j is not running.
因此,尝试stop不会执行任何动作,因为系统认为它一开始就没有执行:
stop
$ sudo /usr/share/neo4j/bin/neo4j stop Neo4j is not running.
但应用程序显然正在运行,curl输出证明了这一点:
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用户:
neo4j
sudo mkdir /var/run/neo4j sudo chown neo4j /var/run/neo4j
然后,通过发送中断(-2)信号停止neo4j的运行示例:
sudo kill -2 1021
再次检查ps,验证其是否正常工作:
ps
$ ps -U neo4j -u neo4j u
启动进程,以neo4j用户身份运行它(同时,设置NEO4J_CONF shell变量指向neo4j.conf所在的目录):
NEO4J_CONF
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现在与实际情况正确一致:
status
$ /usr/share/neo4j/bin/neo4j status Neo4j is running at pid 3803
6条答案
按热度按时间p1tboqfb1#
谢谢Govind,你给了我一个开始,我想我找到了问题,因为我不知道neo4j运行的某个pid与/var/run/neo4j/ www.example.com中生成的pid不同neo4j.pid,当我用正在运行的pid覆盖neo4j.pid时,我能够停止neo4j并启动一个干净的进程。
ktca8awb2#
听起来运行
neo4j status
和neo4j stop
命令的计算机与运行neo4j浏览器服务的计算机不一样。如果你想控制neo4j浏览器服务,你需要在正确的机器上运行这些命令。
tquggr8v3#
您是否以root用户身份运行neo4j status?有时,当您以非root用户身份运行neo4j status,而以root用户身份启动它时,它会给予您该消息。
4nkexdtk4#
我正在使用“Ubuntu 18.04.3 LTS”和“neo4j-community-3.5.8”。当我进入neo4j的主目录时(我直接从网站下载)
ryevplcw5#
我只是偶然发现了同样的问题,即neo4j进程正在运行,但
neo4j status
却不是这样说的。在我的例子中,这是由于在初始安装/配置过程中的一个事故,导致没有运行文件夹得到创建:由于neo4j PID文件存储在
/var/run/neo4j
中,因此neo4j status
认为该进程没有运行,尽管实际上该进程正在运行。我能够通过手动终止进程并再次启动neo4j来确认该行为,之后我看到了:
在为neo4j创建run文件夹后,问题就消失了,方法是使用简单的:
ivqmmu1c6#
我在使用最新的GCP公共图像
neo4j-community-1-4-3-6-apoc
时遇到了这个问题,该图像使用的是Neo4j Community 4.3.6。启动行为是status命令认为Neo4j未运行:
因此,尝试
stop
不会执行任何动作,因为系统认为它一开始就没有执行:但应用程序显然正在运行,
curl
输出证明了这一点:Neo4j也清楚地出现在正在运行的进程列表中(以下是截断的输出):
要解决此问题,请首先创建缺少的运行目录,并将目录所有者设置为
neo4j
用户:然后,通过发送中断(-2)信号停止neo4j的运行示例:
再次检查
ps
,验证其是否正常工作:启动进程,以
neo4j
用户身份运行它(同时,设置NEO4J_CONF
shell变量指向neo4j.conf
所在的目录):验证neo4j是否正在运行,检查活动进程(截断输出):
最后,验证
status
现在与实际情况正确一致: