我一直在努力安装Neo4j空间很长一段时间,现在使用我在网上找到的几种方法。
我正在使用neo4j-community-3.0.3,但我不记得我从中获得的链接。这是一个来自ftp网站的预编译版本(我相信它是neo4j网站上某处的/ archives文件夹,但我无法在谷歌中找到它的生命)。如果有人有链接下载neo4j的预编译版本,将非常感谢。 neo4j其他版本的网页仅提供最新版本: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预编译版本的存档也会对我有帮助。)
答案 0 :(得分: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, 我想如果他们想要其他的,可以改变网址中的版本号。
因此,我发现3.0.2空间插件确实出现在http://localhost:7474/db/data/
对neo4j 3.0.3版的响应中。但是,为了安全起见,我将坚持使用neo4j 3.0.2版。