2013-10-11 58 views
0

我想在Openshift的django框架中創建一個社交網絡,那麼我至少需要一個圖形數據庫(如Neo4j)和一個關係數據庫(如Mysql)。我在將Neo4j添加到我的項目時遇到了麻煩,因爲openshift沒有任何墨盒。然後我決定與DIY安裝它,但我不明白啓動的功能,並在.openshift/action hooks。於是我停止做文件以下步驟來在服務器上安裝的Neo4j:Neo4j服務器未能在openshift中啓動

1.ssh到我的帳戶:

ssh [email protected] 

2.轉到具有寫權限(我去應用程序根/回購/和MKDIR在它的測試),並從here下載Neo4j的包文件夾中。並將其解壓到我之前創建的測試文件夾:

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

3.and終於運行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中的日誌在哪裏?

+1

日誌文件位於'neo4j-community-1.9.4/data/logs/console.log'中。 –

+0

也許是一個端口問題? Neo4j監聽7474和其他一些端口,可以在conf/neo4j.properties和conf/neo4j-server.properties中配置 –

+0

我也不會將它放在app-root/repo中,而是放在app-root/data中。 – TheSteve0

回答

0

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

您還需要使用齒輪的IP - 我認爲env。變量就像OPENSHIFT_INTERAL_IP。 127.0.0.1不可用於綁定,但我認爲這些端口應該是開放的。

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查詢。

1

我開發了一個openshift盒式磁帶,它修復了openshift中的權限問題。我必須更改neo4j中的類HostBoundSocketFactory和SimpleAppServer,以便不使用0端口進行綁定,而是使用openshift可用端口。

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

它爲我工作。