Установка и настройка OrientDB на Ubuntu 14.04

OrientDB – это многомодельная база данных NoSQL, поддерживающая графики и документальные БД. Это приложение Java можно использовать в любой системе. OrientDB также предоставляет полную поддержку ACID и репликаций master-master.

Данная статья поможет установить и настроить последний релиз OrientDB (Community edition) на сервере Ubuntu 14.04.

Требования

  • Сервер Ubuntu 14.04 (руководство по начальной настройке – здесь);
  • Не-root пользователь с доступом к sudo.

1: Установка Oracle Java

Как уже говорилось, OrientDB – это приложение Java, потому для его работы необходимо установить Java версии 1.6 и выше. Рекомендуется установить Java 8, поскольку эта версия гораздо быстрее, чем Java  6 и 7. Далее показано, как установить Java 8.

Чтобы установить Java JRE, fдобавьте следующий PPA-репозиторий (Personal Package Archives).

sudo add-apt-repository ppa:webupd8team/java

Обновите базу пакетов:

sudo apt-get update

Затем установите Oracle Java. Данный пакет не только установит выбранную версию, но и сделает её дефолтной. ВО время установки нужно принять лицензию.

sudo apt-get install oracle-java8-set-default

После установки убедитесь, что эта версия Java является дефолтной.

java -version

Команда должна вернуть такой результат:

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

2: Загрузка и установка OrientDB

Теперь можно загрузить и установить последний релиз OrientDB.

Примечание: На момент написания статьи последним релизом сообщества является версия OrientDB Community 2.1.3. В случае появления новой версии укажите в команде её номер.

wget https://orientdb.com/download.php?file=orientdb-community-2.1.3.tar.gz

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

sudo tar -xf download.php?file=orientdb-community-2.1.3.tar.gz -C /opt

Эта команда извлечёт файлы в каталог orientdb-community-2.1.3. Для простоты работы лучше переименовать его.

sudo mv /opt/orientdb-community-2.1.3 /opt/orientdb

3: Запуск сервера

Теперь можно запустить сервер и подключиться к консоли. Сначала перейдите в каталог установки:

cd /opt/orientdb

Затем запустите сервер:

sudo bin/server.sh

Помимо прочего, при первом запуске сервера будет предложено выбрать пароль root-пользователя; это внутренний аккаунт OrientDB, необходимый для входа на сервер (к примеру, он используется для получения доступа к OrientDB Studio, веб-интерфейса OrientDB). Если пароль не был указан, он будет сгенерирован автоматически. Однако лучше выбрать его самостоятельно.

Часть вывода при запуске сервера сообщает порты, прослушиваемые сервером и OrientDB Studio:

2015-10-12 11:27:45:095 INFO  Databases directory: /opt/orientdb/databases [OServer] 2015-10-12 11:27:45:263 INFO  Listening binary connections on 0.0.0.0:2424 (protocol v.32, socket=default) [OServerNetworkListener] 2015-10-12 11:27:45:285 INFO  Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener] ...
2015-10-12 11:27:45:954 INFO  OrientDB Server v2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) is active. [OServer]

Поскольку приложение OrientDB теперь запущено в окне терминала, откройте новое окно и убедитесь в том, что сервер слушает порт 2424 (бинарные соединения) и 2480 (HTTP-соединения). Чтобы проверить прослушивание бинарных соединений, выполните:

sudo netstat -plunt | grep 2424

На экране появится примерно следующий вывод:

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

Чтобы проверить прослушивание HTTP-соединений, выполните:

sudo netstat -plunt | grep 2480

Команда вернёт примерно следующее:

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

4: Подключение к консоли

Запустив сервер, можно подключиться к его консоли (т.е. интерфейсу командной строки):

sudo /opt/orientdb/bin/console.sh

На экране появится:

OrientDB 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>

Теперь подключитесь к серверу. При подключении будет запрошен пароль, выбранный вами при первом запуске сервера.

connect remote:127.0.0.1 root root-password
Connecting to remote Server instance [remote:127.0.0.1] with user 'root'...OK
orientdb {server=remote:127.0.0.1/}>

Чтобы выйти, введите:

exit

Итак, вы установили OrientDB, вручную запустили сервер и подключили консоль.

Чтобы вам не пришлось запускать OrientDB вручную при каждой загрузке сервера, нужно настроить автозагрузку БД. Об этом можно прочесть далее в руководстве.

Если сервер OrientDB ещё запущен, нажмите CTRL-C, чтобы остановить его.

5: Настройка OrientDB

После успешной установки необходимо отредактировать конфигурационный файл и настроить OrientDB как демон. На данном этапе нужно отредактировать скрипт /opt/orientdb/bin/orientdb.sh и файл /opt/orientdb/config/orientdb-server-config.xml.

Для начала отредактируйте скрипт /opt/orientdb/bin/orientdb.sh; он позволяет задать пользователя для запуска OrientDB и указать каталог установки.

Сначала создайте отдельного пользователя для OrientDB (команда также создаст группу orientdb):

sudo useradd -r orientdb -s /bin/false

Передайте права на каталог и файлы OrientDB новому пользователю и группе:

sudo chown -R orientdb:orientdb /opt/orientdb

После этого нужно внести поправки в скрипт orientdb.sh.

sudo nano /opt/orientdb/bin/orientdb.sh

Укажите каталог установки и пользователя, предназначенного для OrientDB.  Для этого нужно найти следующие строки:

/opt/orientdb/bin/orientdb.sh
# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="YOUR_ORIENTDB_INSTALLATION_PATH"
ORIENTDB_USER="USER_YOU_WANT_ORIENTDB_RUN_WITH"

И заменить их:

/opt/orientdb/bin/orientdb.sh
# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="/opt/orientdb"
ORIENTDB_USER="orientdb"

Теперь нужно разрешить пользователю системы запускать скрипт при помощи sudo.

Ниже в файле, под функцией start, найдите следующую строку и закомментируйте её, добавив в начало символ #:

/opt/orientdb/bin/orientdb.sh
#su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &" - $ORIENTDB_USER

Скопируйте и вставьте следующую строку сразу после только что закомментированной строки:

/opt/orientdb/bin/orientdb.sh
sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &"

Под функцией stop найдите следующую строку и также закомментируйте её:

/opt/orientdb/bin/orientdb.sh
#su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &" - $ORIENTDB_USER

Скопируйте и вставьте следующую строку сразу после этой закомментированной строки:

/opt/orientdb/bin/orientdb.sh
sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &"

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

После этого откройте конфигурационный файл:

sudo nano /opt/orientdb/config/orientdb-server-config.xml

В нём нужно отредактировать тег storages и добавить нового пользователя (опционально) в тег users.

Найдите тег storages. Строки username и password должны содержать текущие учетные данные для входа на сервер:

/opt/orientdb/config/orientdb-server-config.xml
<storages>
<storage path="memory:temp" name="temp" userName="username" userPassword="password" loaded-at-startup="true" />
</storages>

После этого можно найти тег users. В нём должны быть указаны учётные данные пользователя root (созданные при первом запуске сервера OrientDB). Также он может содержать данные о других пользователях. Добавлять других пользователей необязательно. Ниже приведён пример синтаксиса дл добавления нового пользователя:

/opt/orientdb/config/orientdb-server-config.xml
<user name="username" password="password" resources="*"/>

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

Измените права доступа к файлу, отняв у неавторизированных пользователей право на чтение:

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

6: Копирование скриптов

Теперь скрипты и файлы настроены, и их можно скопировать в соответствующие каталоги. Скопируйте скрипт для запуска консоли в каталог /usr/bin:

sudo cp /opt/orientdb/bin/console.sh /usr/bin/orientdb

Затем скопируйте скрипт для запуска сервиса (демона) в каталог /etc/init.d:

sudo cp /opt/orientdb/bin/orientdb.sh /etc/init.d/orientdb

Откройте каталог /etc/init.d:

cd /etc/init.d

Обновите каталог rc.d, чтобы система увидела новый скрипт и запустила его при загрузке системы как сервис:

sudo update-rc.d orientdb defaults

На экране должен появиться вывод:

update-rc.d: warning: /etc/init.d/orientdb missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/orientdb ...
/etc/rc0.d/K20orientdb -> ../init.d/orientdb
/etc/rc1.d/K20orientdb -> ../init.d/orientdb
/etc/rc6.d/K20orientdb -> ../init.d/orientdb
/etc/rc2.d/S20orientdb -> ../init.d/orientdb
/etc/rc3.d/S20orientdb -> ../init.d/orientdb
/etc/rc4.d/S20orientdb -> ../init.d/orientdb
/etc/rc5.d/S20orientdb -> ../init.d/orientdb

7: Запуск OrientDB

Теперь всё готово к запуску сервиса:

sudo service orientdb start

Убедитесь в том, что сервис запущен:

sudo service orientdb status

Также можно использовать команду netstat, чтобы убедиться, что сервер прослушивает ответствующие порты (см. раздел 3). Если сервер не запускается, проверьте лог ошибок, /opt/orientdb/log.

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

OrientDB Studio – это веб-интерфейс для управления OrientDB. По умолчанию он прослушивает порт 2480. Чтобы подключиться к этому интерфейсу, откройте в браузере ссылку:

http://server-ip-address:2480

На экране появится форма входа. Вы можете войти как root.

Если страница не загружается, вероятно, её блокирует фаервол. Нужно добавить правило, которое откроет порт 2480 для трафика OrientDB. Откройте правила IPTables для трафика IPv4:

sudo /etc/iptables/rules.v4

В цепочку INPUT нужно добавить:

/etc/iptables/rules.v4
-A INPUT -p tcp --dport 2480 -j ACCEPT

После этого перезапустите IPTables:

sudo service iptables-persistent reload

После этого доступ к OrientDB Studio будет открыт.

Заключение

Теперь база данных OrientDB установлена на сервер и полностью готова к использованию.

Более подробную информацию и официальные ссылки для OrientDB можно найти в документации приложения.

Tags: , , ,

Добавить комментарий