Как перенести/перенести/скопировать / переместить данные в 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:
остановить все узлы.
на новом узле / сервере, где вам нужно скопировать данные, вы должны создать папку базы данных для этого графика (в моем случае loadTest): / neo4j-enterprise-3.1.0 / данные / базы данных / loadTest.db
затем, исходный узел/сервер то есть, удерживая данные, вы должны скопировать здесь неостор.id файл в папку db целевого сервера (loadTest.db с предыдущего шага).
запустить все узлы. В фоновом режиме neo4j будет копировать данные с других серверов кластера на новый узел.