Neo4j:将3.1.0升级到3.2.0后启动数据库时未创建PID文件

时间:2017-05-24 16:59:15

标签: neo4j graph-databases

我刚刚将Neo4j 3.1.0更新为3.2.0。安装成功。但是一旦我尝试启动neo4j数据库,我就会遇到以下问题:

  

/ usr / share / neo4j / bin / neo4j:第411行:/var/run/neo4j/neo4j.pid:否   这样的文件或目录。

我正在遵循这里的指示:

http://neo4j.com/docs/operations-manual/3.2/upgrade/deployment-upgrading/

1 个答案:

答案 0 :(得分:1)

当neo4j启动脚本调用java启动neo4j并且启动失败时,似乎会发生这种情况。没有创建pid,所以你得到“/var/run/neo4j/neo4j.pid:没有这样的文件或目录”。

但是你必须查看日志文件以查看实际错误,例如:

   $ tail -n 50 /var/log/neo4j/neo4j.log  
    ...error stack ending with...
Caused by: org.neo4j.kernel.StoreLockException: Store and its lock file has been locked by another process: /var/lib/neo4j/data/databases/graph.db/store_lock. Please ensure no other process is using this database, and that the directory is writable (required even for read-only access)

所以在我的情况下,“锁定文件已被另一个进程锁定”。显然,当您第一次启动升级/种子数据库时,可能需要一段时间才能加载。因此,如果您认为它已经挂起并且很快重启 - 就像我做的那样 - 它可以启动另一个过程。我发现仍有2个java进程通过:

运行
$ ps aux | grep java

我将它们杀死并重新启动服务器 - 这次我使用升级的数据库开始了一个干净的开始。