2013-11-24 2 views
0

У меня есть встроенная база данных Neo4j, созданная и используемая java-процессом с использованием TinkerPop. Я хотел бы использовать службу администрирования и резервного копирования Neo4j с этой базой данных. Теперь я установил сервер, но когда я пытаюсь установить путь базы данных сервера к существующей встроенной базе данных, при запуске сервера я получаю исключение StoreLockException (не могу создать файл блокировки).Сервер Neo4j со встроенной базой данных

Как это сделать, чтобы я мог администрировать и создавать резервные копии моей базы данных? Поскольку я использую TinkerPop, у меня фактически нет прямых ссылок Neo4j в моем коде. Используемая база данных поступает из файла конфигурации. Я хотел бы избежать необходимости устанавливать жесткие зависимости от Neo4j в коде.

ответ

1

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

Вы должны были бы:

  1. Shutdown приложения (тем самым освобождая замок)
  2. Выполнить резервное копирование с помощью Neo4j инструментов (по вашему выбору)
  3. Запустите приложение обратно снова

Для «живых» резервных копий без отключения приложения вам необходимо запустить кластер с помощью Neo4j Enterprise.

Приветствия, Andreas

+0

Спасибо Andreas. Когда вы говорите, что запускаете кластер для резервного копирования, вы имеете в виду некоторые встроенные экземпляры и, по крайней мере, один экземпляр в качестве сервера, тем самым получая доступ к веб-администратору и службе резервного копирования? – Mafuba

+1

Да, оперативно проще всего было бы иметь смешанное развертывание встроенного (для вашего приложения) сервера для отказоустойчивости и резервного копирования. Было бы также возможно запустить встроенное приложение в режиме HA в виде одного кластера-члена. – akollegger

Смежные вопросы