是否有人知道如何将数据从一个Neo4j实例迁移到另一个实例。 更确切地说,我想知道如何将数据从本地机器上的Neo4j的一个实例移动到远程机器上的另一个实例。 有没有人有任何想法。
我正在使用Eclipse和Embedded Neo4j在我的Windows机器上工作。 我需要将这些数据传输到Centos机器上的远程Neo4j实例。 请帮我解决一下这个。
对于嵌入式模式,您只需要找到图形neo4j-db文件夹位置,然后zip并将其发送到远程系统。
在你要调用graphdatabaseservice的代码中,你应该给出目标位置
检查它的相对路径,那么数据库可能在你的项目文件夹中。
现在,在浏览器上运行数据库实例,您将需要使用neo4j communty服务器并将其指向包含索引文件夹的文件夹。 所以,如果你的neo4j-db位于$ project / tmp / neo4j-db,那么你会给文件路径,直到这个文件夹(索引文件夹将在这个文件夹中)
编辑
将包含模式和索引文件夹的文件夹需要压缩。 您可以使用Putty在独立服务器上的特定位置上载和解压缩文件夹。 然后,只需更改conf/neo4j-server.properties
文件中的conf/neo4j-server.properties
。
不知道如何做“嵌入式neo4j数据库”。 但是,对于独立的,如果你有像命令行工具“腻子”的东西在你的Windows机器上,这应该工作。 而不是$ 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
在使用neo4j-import工具之后,我发现了以下解决方法将数据从集群中的服务器复制到所有其他服务器:
停止所有节点。
在新节点/服务器上,您需要复制数据的位置,您必须为该图创建数据库文件夹(在我的情况下为loadTest):/ neo4j-enterprise- 3.1.0/ data/ databases/ loadTest.db
然后,持有数据的源节点/服务器,您必须将neostore.id文件复制到目标服务器db文件夹(上一步的loadTest.db)。
启动所有节点。 在后台neo4j会将数据从其他集群服务器复制到新节点。