В иструкции описана установки и настройка документо- и графо-ориентированной СУБД OrientDB.
Что это такое?
OrientDB - это система управления базами данных NoSQL с открытым исходным кодом, написанная на Java. Это многомодельная база данных, одновременно поддерживающая графы, документы, ключ/значения и объектные модели.
Первоначальные требования
Для стабильной работы СУБД рекомендуемое количество оперативной памяти 2GB, но даже при 512Mb она будет работать;
СУБД написана на Java, поэтому для установки и работы необходимо иметь JRE.
Установка
Подключитесь к виртуальному серверу по SSH и обновите локальную базу пакетов:
sudo apt-get update
С помощью утилиты wget загрузите последнюю версию СУБД, посмотреть актуальную версию можно на сайте разработчиков:
Разархивируйте скачанный архив с помощью утилиты tar:
tar -zxvf orientdb-community-2.2.20.tar.gz
Переместите скачанные файлы в директорию /opt, в которой обычно находятся сторонние установленные пакеты:
sudo mv ~/orientdb-community-2.2.20 /opt/orientdb
OrientDB теперь установлена.
Настройка OrientDB для использования меньшего объема RAM
По умолчанию демон OrientDB требует не менее 2 ГБ RAM и не может запуститься, если это число меньше. При неудачном запуске ошибка выглядит следующим образом:
ubuntu-orientdb server.sh[1670]: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000aaaa0000, 1431699456, 0) failed; error='Cannot allocate memory' (errno=12)
ubuntu-orientdb server.sh[1670]: # There is insufficient memory for the Java Runtime Environment to continue.
В конфигурационных файлах можно изменить значение особых параметров, что позволит использовать виртуальный сервер минимальной мощности (например 512 Mb RAM).
С помощью текстового редактора, например vi, откройте конфигурационный файл server.sh:
sudo nano /opt/orientdb/bin/server.sh
С помощью поиска найдите следующий блок:
. . .
# ORIENTDB memory options, default to 2GB of heap.
if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then
ORIENTDB_OPTS_MEMORY="-Xms2G -Xmx2G"
fi
. . .
Параметры, значения которых необходимо изменить, это Xms и Xmx, которые определяют начальный и максимальный пул распределения памяти для виртуальной машины Java. По умолчанию они установлены на 2 ГБ.
Вы можете установить новые значения, которые меньше реального объема оперативной памяти. Убедитесь, что на Xms выделено не менее 128 МБ, в противном случае OrientDB вообще не запустится. В нашем примере мы установим начальное и максимальное объем пула на 128 Mb и 256 Mb соответственно:
# ORIENTDB memory options, default to 2GB of heap.
if [ -z "$ORIENTDB_OPTS_MEMORY" ] ; then
ORIENTDB_OPTS_MEMORY="-Xms128m -Xmx256m"
fi
Сохраните изменения и закройте файл.
Запуск OrientDB
Перейдите в каталог установки:
cd /opt/orientdb
Запустите сервер с помощью следующей команды:
sudo bin/server.sh
При первом запуске вам будет необходимо задать пароль администратора root:
Часть системных сообщений, сгенерированных при запуске сервера СУБД:
2018-10-26 12:51:43:904 INFO [OVariableParser.resolveVariables] Error on resolving property: distributed [orientechnologies]
2018-10-26 12:51:43:906 WARNI Authenticated clients can execute any kind of code into the server by using the following allowed languages: [sql] [OServerSideScriptInterpreter]
2018-10-26 12:51:43:909 INFO OrientDB Studio available at http://111.111.111.111:2480/studio/index.html [OServer]
2018-10-26 12:51:43:909 INFO OrientDB Server is active v2.2.20 (build 76ab59e72943d0ba196188ed100c882be4315139). [OServer]
Эти строки означают что, OrientDB запущен в вашем текущем терминале. Проверьте, что сервер прослушивает соответствующие порты.
Откройте второй терминал и подключитесь к тому же серверу по SSH, выполните сортировку портов:
Консоль OrientDB - это интерфейс командной строки для работы с приложением. Чтобы запустить ее, введите:
sudo /opt/orientdb/bin/console.sh
На экране отобразится следующее:
OrientDB console v.2.2.20 (build 76ab59e72943d0ba196188ed100c882be4315139) https://www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
Теперь подключитесь к экземпляру сервера. Требуемый пароль - тот, который вы указали при первом запуске сервера на предыдущем шаге:
orientdb> connect remote:127.0.0.1 root <пароль>
При успешном подключение появится новое приглашение:
Connecting to remote Server instance [remote:127.0.0.1] with user 'root'...OK
orientdb {server=remote:127.0.0.1/}>
Для выхода введите exit:
orientdb {server=remote:127.0.0.1/}> exit
Настройка OrientDB как демона
На данный момент OrientDB установлен, но это всего лишь набор скриптов на сервере.
С помощью сочетания клавиш CTRL+C остановите работу OrientDB.
Создайте пользователя системы, от имени которого будет работать СУБД. В нашем примере мы создаем пользователя orientdb, данная команда также создаст группу orientdb:
sudo useradd -r orientdb -s /sbin/nologin
Предоставьте право владения на каталог OrientDB и на файлы для созданного пользователя и группы: