CloudLite

8 (495) 784-61-39

Array
(
    [ELEMENT_CODE] => Kak_ustanovit_i_nastroit_OrientDB_na_Ubuntu_16.04
)

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Представляем инструкцию по установке и настройке документо- и графо-ориентированной СУБД OrientDB.

OrientDB - это система администрирования баз данных NoSQL с открытым исходным кодом, созданная на Java. Представляет собой многомодельную базу, также поддерживающую графы, документы, ключ/значения и объектные модели.      

Требования для установки

Для корректного функционирования СУБД оптимальное количество оперативной памяти составляет 2GB, однако она будет работать и при 512Mb;

Система написана на Java, так что для установки и эксплуатации обязательна JRE.

Установка

В первую очередь нужно подключиться к виртуальному серверу по SSH и обновить локальную базу пакетов:

sudo apt-get update

Загрузите актуальную версию СУБД, используя утилиту wget (доступна на официальном сайте):

wget -O orientdb-community-2.2.20.tar.gz http://orientdb.com/download.php?file=orientdb-community-2.2.20.tar.gz&os=linux

Теперь разархивируйте загруженный архив (утилита 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 при первом запуске:

Root password [BLANK=auto generate it]: **********
Please confirm the root password: **********

Вот некоторые системные сообщение, сгенерированные при запуске сервера СУБД:


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, проведите сортировку портов:

sudo netstat -plunt | grep -i listen

Результат для примера:



cp           0        0 0.0.0.0:22     0.0.0.0:*      LISTEN      1076/sshd

tcp6           0       0 :::2480        :::*       LISTEN       8394/java

tcp6        0            0 :::22          :::*       LISTEN        1076/sshd

tcp6       0          0 :::2424         :::*        LISTEN        8394/java


Как подключиться к консоли

Консоль 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 и на файлы:

sudo chown -R orientdb:orientdb /opt/orientdb

Запустите следующий файл для редактирования:

sudo vi /opt/orientdb/bin/orientdb.sh

Найдите такие параметры:



ORIENTDB_DIR="YOUR_ORIENTDB_INSTALLATION_PATH"

ORIENTDB_USER="USER_YOU_WANT_ORIENTDB_RUN_WITH"



Сменит значения:

ORIENTDB_DIR="/opt/orientdb"
ORIENTDB_USER="orientdb"

Сохраните изменения и закройте файл.

Для предотвращения прочтения файла неавторизованными пользователями измените его разрешение конфигурации сервера:

sudo chmod 640 /opt/orientdb/config/orientdb-server-config.xml

Как настроить скрипты Systemd

Служба Systemd предназначена для запуска и остановка OrientDB. Скопируйте такой настроечный файл в каталог /etc/systemd/system:

sudo cp /opt/orientdb/bin/orientdb.service /etc/systemd/system

Откройте его для конфигурации:

sudo vi /etc/systemd/system/orientdb.service

Замените параметры User, Group и ExecStart следующим образом:

User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh

Выполните теперь такие команды для вступления изменений в силу:

sudo systemctl daemon-reload
sudo systemctl start orientdb

Разрешите запуск при загрузке:

sudo systemctl enable orientdb

Проверьте, в каком состоянии находится СУБД:

sudo systemctl status orientdb

Результат должен быть таким:



● orientdb.service - OrientDB Server


Loaded: loaded (/etc/systemd/system/orientdb.service; enabled; vendor preset: enabled)


Active: active (running) since Fri 2018-10-26 13:30:35 MSK; 36s ago


 Main PID: 8606 (java)

   CGroup: /system.slice/orientdb.service

    ─8606 java -server -Xms2G -Xmx2G -Djna.nosys=true -XX:+HeapDumpOnOutOfMemoryError -XX:MaxDirectMemorySize=512g -Djava.awt.headless=




 Oct 26 13:30:36 Ubuntu1604x64 server.sh[8606]: 2018-10-26 13:30:36:792 INFO Listening binary connections on 0.0.0.0:2424 (protocol v.36, socke

Oct 26 13:30:36 Ubuntu1604x64 server.sh[8606]: 2018-10-26 13:30:36:795 INFO Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=


Подключение к OrientDB Studio

Внимание: откройте порт 2480 для подключения из браузера.

iptables -A INPUT -p tcp --dport 2480 -j ACCEPT
iptables-save

Для подключения к OrientDB Studio откройте в браузере следующий адрес:

http://<IP-адрес_сервера>:2480

Например:

http://111.111.111.111:2480

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


Рабочая область будет выглядеть примерно так:


Установка и настройка OrientDB закончена!

Не нашли ответа на Ваш вопрос? Напишите нам!

techsupport@cloudlite.ru - служба техподдержки

sales@cloudlite.ru - вопросы по услугам, оплате, документам и партнерству

partner@cloudlite.ru - партнерская программа