Вступление
OrientDB - это многомодельная база данных NoSQL с поддержкой баз данных графов и документов. Это приложение Java и может работать в любой операционной системе; это также полностью ACID-жалоба с поддержкой репликации с несколькими хозяевами.
Резервное копирование базы данных OrientDB можно выполнять с помощью сценария резервного копирования, а также через интерфейс командной строки со встроенной поддержкой сжатия файлов резервных копий с использованием алгоритма ZIP.
По умолчанию резервное копирование базы данных OrientDB является операцией блокировки - записи в базу данных блокируются до конца операции резервного копирования, но если операционная система была установлена в схеме разбиения LVM, сценарий резервного копирования может выполнять неблокирующее резервное копирование. , LVM - менеджер логических томов Linux.
В этой статье вы узнаете, как сделать резервную копию вашей базы данных OrientDB на сервере Ubuntu 14.04.
Предпосылки
-
Сервер Ubuntu 14.04 (см. (Https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04[Initial Настройка сервера с Ubuntu 14.04])
-
OrientDB установлен и настроен с использованием Как установить и настроить OrientDB в Ubuntu 14.04
Шаг 1 - Резервное копирование OrientDB с помощью скрипта резервного копирования
OrientDB поставляется со скриптом резервного копирования, расположенным в папке + bin +
каталога установки. Если вы установили OrientDB с использованием Как установить и настроить OrientDB в Ubuntu 14.04, тогда каталог установки + / opt / orientdb +
, поэтому сценарий резервного копирования + backup.sh +
должен находиться в + / opt / orientdb / bin +
.
Для этого урока создайте папку + backup
в каталоге установки для хранения резервных копий. Вы также можете сохранить резервные копии в папке + database +
, которая является каталогом данных приложения. Для этого урока мы будем использовать папку + backup +
, поэтому создайте каталог + backup +
:
sudo mkdir -p /opt/orientdb/backup
Недавно созданная папка принадлежит пользователю root, поэтому давайте изменим владельца так, чтобы он принадлежал пользователю * orientdb *. Невыполнение этого приведет к ошибке при резервном копировании из интерфейса командной строки, которую вы узнаете, как выполнить на шаге 2:
sudo chown -R orientdb:orientdb /opt/orientdb/backup
После этого перейдите в каталог + bin +
:
cd /opt/orientdb/bin
По умолчанию база данных с именем + GratefulDeadConcerts +
существует. Список содержимого каталога + database +
покажет эту базу данных по умолчанию и любую базу данных, которую вы создали:
ls -l /opt/orientdb/databases
Например, следующее показывает базу данных + GratefulDeadConcerts +
и базу данных + eck +
:
Outputtotal 8
drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck
drwxr-xr-x 2 orientdb orientdb 4096 Oct 4 06:30 GratefulDeadConcerts
На этом этапе мы создадим резервные копии обеих баз данных с помощью сценария резервного копирования. И в обоих случаях мы будем выполнять операцию как пользователь * admin *, чей пароль также * admin *. Чтобы выполнить резервное копирование по умолчанию для базы данных по умолчанию, введите:
sudo ./backup.sh plocal:../databases/GratefulDeadConcerts admin admin ../backup/gfdc.zip
Для второй базы данных введите:
sudo ./backup.sh plocal:../databases/eck admin admin ../backup/eck.zip
Убедитесь, что резервные копии были созданы:
ls -lh ../backup
Ожидаемый результат:
Outputtotal 236K
-rw-r--r-- 1 root root 17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip
Шаг 2 - Резервное копирование OrientDB из консоли
На этом этапе мы создадим резервную копию одной из баз данных из консоли или интерфейса командной строки. Чтобы войти в интерфейс командной строки, введите:
sudo -u orientdb /opt/orientdb/bin/console.sh
Выход должен быть:
OutputOrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
Далее подключитесь к базе данных. Здесь мы подключаемся, используя пользователя базы данных по умолчанию * admin * и его пароль * admin *.
connect plocal:/opt/orientdb/databases/eck admin admin
Вы должны увидеть результат вроде этого:
OutputDisconnecting from the database [null]...OK
Connecting to database [plocal:/opt/orientdb/databases/eck] with user 'admin'...OK
orientdb {db=eck}>
Теперь выполните блокирующее резервное копирование базы данных в тот же каталог резервного копирования, который мы создали на шаге 1:
backup database /opt/orientdb/backup/eckconsole.zip
Вы должны увидеть результат вроде этого:
OutputBackuping current database to: database /opt/orientdb/backup/eckconsole.zip...
- Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms
- Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms
...
- Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms
- Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms
Backup executed in 0.33 seconds
Выйдите из базы данных OrientDB:
exit
Убедитесь, что резервная копия находится на месте:
ls -lh ../backup
Вывод должен быть похож на это:
Outputtotal 256K
-rw-r--r-- 1 orientdb orientdb 17K Oct 13 10:39 eckconsole.zip
-rw-r--r-- 1 orientdb orientdb 17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip
[[step-3-- backing-up-orientdb-automatically]] === Шаг 3 - Автоматическое резервное копирование OrientDB
OrientDB имеет функцию автоматического резервного копирования, но по умолчанию она отключена. На этом шаге мы включим его, чтобы ежедневное резервное копирование баз данных. Параметры для автоматического резервного копирования должны быть изменены в файле конфигурации, поэтому откройте его:
sudo nano /opt/orientdb/config/orientdb-server-config.xml
Прокрутите до элемента * handler * с помощью * class = «com.orientechnologies.orient.server.handler.OAutomaticBackup» *. При включении других настроек по умолчанию автоматическое резервное копирование устанавливается в 23:00:00 по Гринвичу с интервалом в 4 часа. С настройками, показанными ниже, автоматическое резервное копирование будет выполняться одновременно, но только один раз в день.
В целях тестирования вы можете настроить параметр * firsttime * по своему вкусу:
/opt/orientdb/config/orientdb-server-config.xml
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter value="" name="enabled"/>
<parameter value="" name="delay"/>
<parameter value="23:00:00" name="firstTime"/>
<parameter value="backup" name="target.directory"/>
<parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
<parameter value="9" name="compressionLevel"/>
<parameter value="1048576" name="bufferSize"/>
<parameter value="" name="db.include"/>
<parameter value="" name="db.exclude"/>
</parameters>
</handler>
Когда вы закончите настройку параметров, сохраните и закройте файл. Чтобы применить изменения, остановите демон:
sudo service orientdb stop
Затем перезапустите его:
sudo service orientdb start
По истечении заданного времени убедитесь, что он работает, посмотрев в новый каталог + backup +
:
ls -lh /opt/orientdb/bin/backup
Вывод должен быть похож на это:
Outputtotal 236K
-rw-r--r-- 1 orientdb orientdb 17K Oct 13 16:00 eck-20151013160001.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip
В стандартной комплектации база данных по умолчанию + GratefulDeadConcert +
не резервируется с помощью инструмента автоматического резервного копирования, поэтому, если вы не видите ее в списке, это особенность.
Заключение
Вы только что изучили все непрограммные шаги, доступные для резервного копирования базы данных OrientDB. Для получения дополнительной информации по этой теме посетите official guide.