Как перенести/перенести/скопировать / переместить данные в Neo4j

кто-нибудь знает, как перенести данные из одного экземпляра Neo4j в другой. Чтобы быть более точным, я хочу знать, как переместить данные из одного экземпляра Neo4j на моей локальной машине в другой на удаленной машине. Кто-нибудь знает об этом?

Я работаю над своей машиной windows с Eclipse и встроенным Neo4j . Мне нужно передать эти данные в удаленный экземпляр Neo4j на машине Centos. Пожалуйста, помоги мне с этим.

3 ответов


для встроенного режима вам просто нужно найти местоположение папки graph neo4j-db, затем zip и отправить его в удаленную систему.

в вашем коде, где вы бы вызвали graphdatabaseservice, вы бы дали целевое местоположение

проверьте, если его относительный путь, то база данных может быть в папке проекта .

теперь для запуска экземпляра БД в браузере вам нужно будет использовать сервер Neo4j communty и указать его в папку содержит папку index. Поэтому, если ваш neo4j-db находится в $project/tmp / neo4j-db, вы дадите путь к файлу до этой папки(папка индекса будет внутри этой папки)

редактировать

папку, которая будет содержать папки схемы и индекса, необходимо сжать. Вы можете загрузить и распаковать папку в определенном месте с помощью Putty на своем отдельном сервере. Тогда просто измените org.neo4j.server.database.location на .


не уверен, как это сделать для "embedded neo4j db". Но для автономного и в случае, если у вас есть что-то вроде инструмента командной строки "Putty" на вашей машине 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:

  1. остановить все узлы.

  2. на новом узле / сервере, где вам нужно скопировать данные, вы должны создать папку базы данных для этого графика (в моем случае loadTest): / neo4j-enterprise-3.1.0 / данные / базы данных / loadTest.db

  3. затем, исходный узел/сервер то есть, удерживая данные, вы должны скопировать здесь неостор.id файл в папку db целевого сервера (loadTest.db с предыдущего шага).

  4. запустить все узлы. В фоновом режиме neo4j будет копировать данные с других серверов кластера на новый узел.