0

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

1.ssh到我的帐户:

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

2.进入一个有写权限的文件夹(我去app-root/repo/和mkdir test里面),从这里下载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哪里?

4

3 回答 3

1

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

您可以查看:https ://github.com/danielnatali/openshift-neo4j-cartridge

它对我有用。

于 2015-06-09T19:35:09.297 回答
0

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

您还需要使用设备的 IP - 我认为是 env。变量类似于 OPENSHIFT_INTERAL_IP。127.0.0.1 不可用于绑定,但我认为端口应该是开放的。

于 2013-10-13T22:32:22.817 回答
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 查询。

于 2014-03-02T15:15:03.660 回答