簡體   English   中英

如何遷移/移位/復制/移動在Neo4j的數據

[英]How to migrate/shift/copy/move data in Neo4j

是否任何一個知道如何將數據從Neo4j的一個實例遷移到另一個。 更精確地說,我想知道,如何將數據從Neo4j的一個實例移動我的本地機器到另一台遠程機器上。 沒有任何一個有任何想法。

我的工作我的Windows機器與Eclipse和嵌入式的Neo4j上。 我需要這個數據傳送到遠程的Neo4j例如一個CentOS的機器上。 請幫我解決一下這個。

不確定如何為“嵌入式 neo4j db”執行此操作。 但是對於獨立的,如果你的 Windows 機器上有類似命令行工具“Putty”的東西,這應該可以工作。 除了 $NEO4j_HOME,您還可以使用沒有 env 變量的普通路徑。

$NEO4J_HOME/bin/neo4j stop

cd $NEO4J_HOME/data
tar -cvf graph.db.tar graph.db
gzip graph.db.tar

scp -i ~/some_path/key_for_remote_server.pem ./graph.db.tar.gz username@your_remote_domeain.com:~/

ssh -i ~/some_path/key_for_remote_server.pem/ username@your_remote_domeain.com

在您的遠程服務器上(至少這適用於 ubuntu):也許您需要使用“sudo”(在命令前加上 sudo)。

mv ./graph.db.tar.gz /some_path/
cd /some_path/
gunzip graph.db.tar.gz
tar -xvf graph.db.tar

$NEO4J_HOME/bin/neo4j start
$NEO4J_HOME/bin/neo4j status

您可以通過使用APOC程序通過從那里要導出的數據需求的暗號shell中運行下面的查詢遷移數據:

CALL apoc.export.cypher.all('myfilename.cypher');

這將下載與CYPHER查詢文件中導入文件夾

去哪里需要數據要導入的數據庫實例和復制文件中導入文件夾。 使用 cypher shell 運行以下命令:

apoc.cypher.runFile("myfilename.cypher",{}) yield row, result;

對於更高級的選項,按照下面的鏈接:

我發現了以下解決方法對於集群中的從服務器將數據復制到所有其他使用Neo4j的導入工具后:

  1. 停止所有節點。

  2. 在新的節點/服務器,你需要你的數據被復制,你必須創建該圖的數據庫文件夾(在我的情況下,負載測試):/neo4j-enterprise-3.1.0/data/databases/loadTest.db

  3. 然后,源節點/服務器持有該數據,你必須在這里neostore.id文件復制到目標服務器數據庫文件夾(loadTest.db從之前的步驟)。

  4. 啟動所有節點。 在后台,neo4j 會將數據從其他集群服務器復制到新節點。

對於嵌入模式,你只需要找到該圖的Neo4j-DB文件夾的位置,然后壓縮並傳送到遠程系統。

在你的代碼,你會叫graphdatabaseservice,你會給出的目標位置

檢查其相對路徑,那么數據庫可能是在項目文件夾。

現在運行瀏覽器的數據庫實例,您將需要使用的Neo4j communty服務器並將其指向包含索引文件夾中的文件夾。 所以,如果你的Neo4j-DB位於$項目的/ tmp /的Neo4j-DB,那么你會給直到該文件夾​​中的文件路徑(索引文件夾將在此文件夾中)

編輯

將包含模式和索引文件夾中的文件夾必須壓縮。 你可以上傳你的獨立服務器上使用膩子在某個位置解壓的文件夾。 然后,只需改變org.neo4j.server.database.locationconf/neo4j-server.properties文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM