1

很长一段时间以来,我一直在努力使用我在网上找到的几种方法来安装 Neo4j 空间。

我正在使用 neo4j-community-3.0.3,但我不记得我是从哪个链接获得的。它是来自 ftp 站点的预编译版本(我相信它是 neo4j 网站某处的 /archives 文件夹,但我终生无法在 google 中找到它)。如果有人有下载neo4j预编译版本的链接,将不胜感激。neo4j other-releases 网页仅提供最新版本:https ://neo4j.com/download/other-releases/

我尝试从 github 编译我自己的 neo4j 版本,但老实说它非常令人困惑,因为目录树非常密集。似乎社区版和企业版都包含在同一个仓库中,没有自述文件,所以我什至不知道从哪里开始。

就插件而言,我已经尝试了预编译版本和我自己的编译版本。对于预编译,我已按照 git 页面上的说明进行操作。

https://github.com/neo4j-contrib/spatial#using-the-neo4j-spatial-server-plugin

我下载了 jar 文件,并将其复制到 $NEO4J_HOME/plugins/ 然后我重新启动了 neo4j 服务器。最后,我进行了其余调用以查看插件是否已加载,但我没有看到它。

$ http :7474/db/data/ -a neo4j
http: password for neo4j@localhost:7474: 
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 795
Content-Type: application/json; charset=UTF-8
Date: Fri, 01 Jul 2016 19:49:44 GMT
Server: Jetty(9.2.9.v20150224)

{
    "batch": "http://localhost:7474/db/data/batch", 
    "constraints": "http://localhost:7474/db/data/schema/constraint", 
    "cypher": "http://localhost:7474/db/data/cypher", 
    "extensions": {}, 
    "extensions_info": "http://localhost:7474/db/data/ext", 
    "indexes": "http://localhost:7474/db/data/schema/index", 
    "neo4j_version": "3.0.3", 
    "node": "http://localhost:7474/db/data/node", 
    "node_index": "http://localhost:7474/db/data/index/node", 
    "node_labels": "http://localhost:7474/db/data/labels", 
    "relationship": "http://localhost:7474/db/data/relationship", 
    "relationship_index": "http://localhost:7474/db/data/index/relationship", 
    "relationship_types": "http://localhost:7474/db/data/relationship/types", 
    "transaction": "http://localhost:7474/db/data/transaction"
}

编译的版本给了我同样的结果,只是需要更长的时间来实现。我克隆了版本 3.0.2 的 git repo,并运行以下命令:

git clone git://github.com/neo4j/spatial.git spatial
cd spatial
mvn clean package -Dmaven.test.skip=true install

注意:这个 mvn 命令实际上在某一时刻对我来说是失败的,但是经过一番谷歌搜索后,我发现这个命令有效

mvn clean compile package assembly:single -Dmaven.test.skip=true install

最后我跑

cp target/neo4j-spatial-0.17-neo4j-3.0.2-server-plugin.jar $NEO4J_HOME/plugins
$NEO4J_HOME/bin/neo4j restart

瞧,与以前完全相同的结果(没有插件列表)。

我从来没有安装过这么多的麻烦。我真的不想回到版本 2.*,因为我想利用带有 python 的新螺栓驱动程序,并获得最新和最好的性能。请,非常感谢任何帮助。(即使只是找到 Neo4j 预编译版本的直接链接档案也会对我有所帮助)。

4

1 回答 1

0

好的,所以我想出了几个问题,这可能是我感到困惑的原因。

问题 1:如果您以 root (sudo) 身份启动服务器,则必须以 root 身份停止服务器!

问题 2:确保您没有同时运行另一个版本(使用默认端口 7474)。

我相信这两个问题的结合是我问题的真正罪魁祸首。如果 Neo4J 在启动时能够检查该端口是否已被使用,那就太好了。

此外,当尝试以非原始用户的身份停止服务时,这非常令人困惑,Neo4J 显示以下输出:

$ sudo bin/neo4j start
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.
Started neo4j (pid 25418). By default, it is available at http://localhost:7474/
There may be a short delay until the server is ready.
See /opt/neo4j/neo4j-community-3.0.2/logs/neo4j.log for current status.

$ bin/neo4j stop
Neo4j not running
rm: remove write-protected regular file ‘/opt/neo4j/neo4j-community-3.0.2/run/neo4j.pid’? ^C

最后一行引起了我的注意,然后在运行之后

$ ps aux | grep neo

我发现 Neo4j 确实在运行。

至于下载链接,请在上面的评论中感谢 William。他指给我http://dist.neo4j.org/neo4j-community-3.0.2-unix.tar.gz,我想如果他们想要其他版本,可以更改 url 中的版本号。

所以弄清楚这一点,我发现 3.0.2 空间插件确实出现在http://localhost:7474/db/data/neo4j 版本 3.0.3 的响应中。但是,为了安全起见,我将坚持使用 neo4j 3.0.2 版。

于 2016-07-01T20:57:52.183 回答