Neo4j服务器无法在openshift中启动

时间:2013-10-11 12:29:06

标签: neo4j openshift

我想在Openshift的django框架中创建一个社交网络,然后我至少需要一个图形数据库(如Neo4j)和一个关系数据库(如Mysql)。我在将Neo4j添加到我的项目时遇到了麻烦,因为openshift没有任何盒式磁带。然后我决定用DIY安装它,但我不理解.openshift/action hooks中启动和停止文件的功能。然后我按照以下步骤在服务器上安装neo4j:

1.ssh到我的帐户:

ssh 1238716...@something-prolife.rhcloud.com

2.go在一个有权写入的文件夹中(我去了app-root / repo /和mkdir test)并从here下载neo4j包。并将其解压缩到我之前创建的测试文件夹中:

tar -xvzf neo4j-community-1.9.4-unix.tar.gz

3.最后运行neo4j文件并启动它:

neo4j-community-1.9.4/bin/neo4j start

但我看到这些日志并且无法运行neo4j:

process [3898]... waiting for server to be ready............ Failed   
to start within 120 seconds.
Neo4j Server may have failed to start, please check the logs.

如何在openshift中运行此数据库?哪里错了? please check the logs中的日志在哪里?

3 个答案:

答案 0 :(得分:1)

我开发了一个openshift磁带,修复了openshift中的权限问题。我不得不在neo4j中更改类HostBoundSocketFactory和SimpleAppServer,只是为了不使用0端口绑定,而是使用openshift可用端口。

您可以访问:https://github.com/danielnatali/openshift-neo4j-cartridge

它对我有用。

答案 1 :(得分:0)

我也不会把它放在app-root / repo中,而是将它放在app-root / data中。

你还需要使用齿轮的IP - 我认为环境。变量类似于OPENSHIFT_INTERAL_IP。 127.0.0.1不可用于绑定,但我认为端口应该是打开的。

答案 2 :(得分:0)

neo4j可以运行两种方式:嵌入式或独立式(通过休息服务公开)。

独立是你想要做的。我认为设置neo4j的正确方法是为openshift编写一个墨盒,然后将墨盒添加到你的装备中。对此有一些讨论,但似乎没有人花时间去做这件事。检查https://www.openshift.com/forums/openshift/neo4j-cartridge。如果您决定编写自己的墨盒,我可能会提供帮助。以下是文档:https://www.openshift.com/developers/download-cartridges

另一个选项是在我使用的嵌入模式下运行。您需要设置Java EE应用程序(因为neo4j嵌入式模式库仅适用于java),并将neo4j库放在项目中。然后,您将公开一些路由,检查参数并在servlet中运行neo4j查询。