Гид по технологиям

Установка OrientDB на CentOS 7

6 min read Базы данных Обновлено 16 Sep 2025
Установка OrientDB на CentOS 7
Установка OrientDB на CentOS 7

  • Кратко: установите Java (Oracle/OpenJDK), разверните архив OrientDB в /opt/orientdb, запустите bin/server.sh, настройте systemd и откройте порт 2480 в брандмауэре. Используйте отдельного системного пользователя orientdb и задайте сильный пароль для root в первый запуск.
  • Польза: быстрый графово-документный NoSQL-сервер с веб-интерфейсом Studio.

Введение

OrientDB — это свободная NoSQL СУБД с поддержкой графовых и документных данных. В отличие от традиционных реляционных СУБД, она хранит данные в формах, отличных от таблиц: как документы и графы с ребрами. OrientDB включает web-GUI (Studio), поддерживает транзакции ACID и возвращает связанные графы с документами. Язык запросов основан на SQL, а система поддерживает несколько алгоритмов индексирования для ускорения поиска.

Цель этой инструкции — показать пошаговую установку OrientDB на сервере CentOS 7 и дать практические рекомендации по запуску, безопасности и эксплуатации.

Требования предварительные

  • Минимальная система CentOS 7.
  • root-доступ. Если вы подключены под sudo-пользователем, выполните sudo -i.

Обновление системы

Перед установкой обновите пакеты и репозитории:

yum -y update

После обновления установите зависимости и Java.

Установка Java

OrientDB работает на JVM. Поддерживаются OpenJDK и Oracle Java. В инструкции показана установка Oracle Java 8 (пример с RPM). Скачайте RPM:

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"

Если wget не установлен, установите его:

yum -y install wget

Установите RPM:

yum -y localinstall jdk-8u144-linux-x64.rpm

Проверьте версию Java:

java -version

Ожидаемый вывод (пример):

[root@liptan-pc ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

Проверьте переменную окружения JAVA_HOME:

echo $JAVA_HOME

Если переменная не задана, установите её в ~/.bash_profile:

nano ~/.bash_profile

Добавьте в конец файла (замените путь при необходимости):

export JAVA_HOME=/usr/java/jdk1.8.0_144/
export JRE_HOME=/usr/java/jdk1.8.0_144/jre

Загрузите профиль заново:

source ~/.bash_profile

Проверьте снова:

[root@pc ~]# echo $JAVA_HOME 
/usr/java/jdk1.8.0_144/

Важно: при использовании OpenJDK пути будут отличаться. Убедитесь, что JAVA_HOME указывает на корректный JDK.

Установка OrientDB

Рекомендуется запускать OrientDB под отдельным системным пользователем. Создайте пользователя и домашний каталог в /opt/orientdb:

adduser orientdb -d /opt/orientdb

Переключитесь в каталог установки и скачайте архив (пример версии 2.2.25 в исходном материале):

cd /opt/orientdb/
wget https://orientdb.com/download.php?file=orientdb-community-importers-2.2.25.tar.gz -O orientdb.tar.gz

Распакуйте архив:

tar -xf orientdb.tar.gz

Переместите файлы из распакованной директории в корень /opt/orientdb:

mv orientdb-community-importers*/* .

Очистите временные файлы:

rm -rf orientdb-community-importers*/ orientdb.tar.gz

Установите права владельца на установочную директорию:

chown -R orientdb:orientdb /opt/orientdb

Теперь OrientDB установлен.

Запуск сервера вручную

Переключитесь на пользователя orientdb и запустите сервер:

su - orientdb
bin/server.sh

При первом запуске сервер попросит задать пароль для пользователя root (серверного администратора). Задайте сложный пароль:

+---------------------------------------------------------------+
|                WARNING: FIRST RUN CONFIGURATION               |
+---------------------------------------------------------------+
| This is the first time the server is running. Please type a   |
| password of your choice for the 'root' user or leave it blank |
| to auto-generate it.                                          |
|                                                               |
| To avoid this message set the environment variable or JVM     |
| setting ORIENTDB_ROOT_PASSWORD to the root password to use.   |
+---------------------------------------------------------------+

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

При успешном старте вы увидите подсказки вроде:

2017-08-05 12:48:04:444 INFO  OrientDB Studio available at http://108.61.201.197:2480/studio/index.html [OServer]
2017-08-05 12:48:04:445 INFO  OrientDB Server is active v2.2.25 (build ...). [OServer]

Остановить сервер можно сочетанием Ctrl+C. Для выхода к root выполните exit.

Настройка systemd сервиса

Чтобы OrientDB автоматически запускался при загрузке и при сбоях, создайте systemd unit:

nano /etc/systemd/system/orientdb.service

Вставьте следующий содержимое:

[Unit]
Description=OrientDB service
After=network.target

[Service]
Type=simple
ExecStart=/opt/orientdb/bin/server.sh
User=orientdb
Group=orientdb
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=orientdb

[Install]
WantedBy=multi-user.target

Загрузите systemd конфигурацию, запустите и включите автозапуск:

systemctl daemon-reload
systemctl start orientdb
systemctl enable orientdb
systemctl status orientdb

Пример вывода статуса:

[root@liptan-pc ~]# systemctl status orientdb
? orientdb.service - OrientDB service
   Loaded: loaded (/etc/systemd/system/orientdb.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-05 17:34:40 UTC; 15s ago
 Main PID: 6939 (java)
   CGroup: /system.slice/orientdb.service
           ??6939 /bin/java -d64 -server -Xms2G -Xmx2G ...

Hint: Some lines were ellipsized, use -l to show in full.

Если вы хотите более гибко управлять JVM-опциями (память, параметры GC), лучше создать обёртку-скрипт или изменить конфигурацию в /opt/orientdb/config/.

Создайте символьную ссылку для удобного вызова консоли OrientDB:

ln -s /opt/orientdb/bin/console.sh /usr/bin/orientdb
orientdb

Вы увидите промпт консоли:

OrientDB console v.2.2.25 ...
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0

orientdb>

Выход из консоли — команда exit.

Доступ к OrientDB Studio

Studio — веб-интерфейс для администрирования. По умолчанию доступен на порту 2480. Откройте в браузере:

http://your-server-IP:2480

Если брандмауэр активен, добавьте правило для порта 2480 и перезагрузите firewall:

firewall-cmd --zone=public --permanent --add-port=2480/tcp
firewall-cmd --reload

Вы увидите страницу входа Studio. Примеры интерфейса:

Главная страница OrientDB Studio

Создание новой базы данных в Studio

Панель управления базой

Вкладки интерфейса:

  • Browse — выполнение запросов и просмотр данных.

Просмотр и выполнение запросов в Browse

  • Schema — управление схемой (классы/колонки).

Управление схемой в Schema

  • Security — управление пользователями и правами.

Базовые операции в Studio

  1. Нажмите NEW DB, укажите имя базы.
  2. В поле Server User укажите root и введите пароль, заданный при первом старте.
  3. Нажмите CREATE DATABASE.

База создастся, и вы попадёте на её панель управления.

Резервное копирование и восстановление

OrientDB поддерживает экспорт/импорт и бэкап через консоль или API. Для регулярных бэкапов используйте следующие подходы:

  • Экспорт через консоль:
EXPORT DATABASE /path/to/backup.gz
  • Снимок файлов на уровне файловой системы при остановленном сервисе.
  • Репликация/кластеризация для критичных систем (см. документацию OrientDB).

Критерии приёмки резервной копии:

  • Бэкап проходит успешно без ошибок.
  • Можно восстановить тестовую базу из бэкапа.
  • Процесс бэкапа не вызывает существенной деградации сервиса.

Безопасность и hardening

Несколько практических шагов:

  • Не запускайте Studio на общедоступном интерфейсе без HTTPS и аутентификации.
  • Защитите порт 2480 брандмауэром или проксируйте через Nginx с TLS.
  • Используйте сильные пароли для root и сервисных пользователей.
  • Ограничьте доступ к /opt/orientdb правами на файловую систему.
  • Регулярно обновляйте OrientDB и JVM.

SELinux: при включённом SELinux могут потребоваться дополнительные политики для разрешения работы сервера и доступа к логам. Если возникают проблемы, временно переведите SELinux в permissive режим для отладки:

setenforce 0

Не забывайте возвращать enforcing при решении проблем.

Производительность и настройка JVM

  • Настройте Xms/Xmx в зависимости от объёма данных и памяти сервера.
  • Мониторьте GC и при необходимости настройте параметры сборщика мусора.
  • Для больших нагрузок рассмотрите выделение отдельного диска для данных и журналов.

Отладка распространённых ошибок

  • Сервер не стартует: проверьте логи в /opt/orientdb/log/ и systemd journal: journalctl -u orientdb -b
  • Недостаток памяти Java: уменьшите потребление или увеличьте Xmx; проверьте доступную память на хосте.
  • Проблемы с привилегиями: убедитесь, что файлы принадлежат orientdb:orientdb.
  • Studio недоступна: проверьте, открыт ли порт 2480 и слушает ли процесс (ss -tlnp | grep 2480).

Когда не стоит использовать OrientDB

  • Если ваша задача — простая реляционная обработка с мощными транзакционными отчётами, лучше использовать PostgreSQL или MySQL.
  • Если основной сценарий — массовое хранение документов без графовых связей и нужна горизонтальная масштабируемость на десятки тысяч нод, рассмотрите MongoDB или Couchbase.

Альтернативы

  • Neo4j — фокус на графовых данных и богатая экосистема для граф-аналитики.
  • MongoDB — документная база данных с широкой поддержкой шардинга.
  • ArangoDB — мульти-модельная база (документы + граф) с собственными преимуществами.

Модель принятия решений (эмпирический эвристический подход)

  • Нужны графовые запросы и тесные связи → ориентируйтесь на графовые СУБД (OrientDB, Neo4j).
  • Нужны документы и горизонтальное масштабирование → MongoDB.
  • Нужна мульти-модельность в одном продукте → OrientDB или ArangoDB.

Роль-ориентированные чек-листы

Администратор:

  • Обновил ОС и Java.
  • Настроил systemd unit и автозапуск.
  • Настроил бэкапы.

Разработчик:

  • Проверил подключения к Studio и консоли.
  • Настроил индексы и схемы.
  • Проверил производительность запросов.

Оператор безопасности:

  • Ограничил доступ к портам и интерфейсам.
  • Настроил TLS/HTTPS для Studio.
  • Проверил журналы и аудит.

Факт-бокс: ключевые моменты

  • Формат: граф + документы.
  • GUI: OrientDB Studio (порт 2480).
  • JVM: требуется Java 8+.
  • Рекомендуется запуск под отдельным пользователем orientdb.
  • Основной каталог установки в инструкции: /opt/orientdb.

Краткая методология установки

  1. Обновите систему.
  2. Установите Java и задайте JAVA_HOME.
  3. Создайте пользователя orientdb.
  4. Скачайте и распакуйте архив OrientDB.
  5. Дайте права пользователю и запустите bin/server.sh.
  6. Создайте systemd unit и включите автозапуск.
  7. Откройте порт 2480 и доступ к Studio.

Краткое руководство по миграции данных

  • Экспортируйте данные через консоль EXPORT DATABASE.
  • Для миграции схемы и данных между версиями тестируйте восстановление на стенде.
  • При переходе на другую СУБД спланируйте трансформации схемы: граф → реляционная модель требует денормализации или отдельной таблицы связей.

Заключение

Мы установили OrientDB на CentOS 7, запустили сервер вручную и через systemd, настроили доступ к Studio и рассмотрели базовые рекомендации по безопасности, бэкапам и отладке. OrientDB подходит, если вам нужен гибрид документно-графовой базы данных с удобным веб-интерфейсом. Для продакшена проверьте настройки JVM, организуйте бэкапы и закройте публичный доступ к административному интерфейсу.

Важно: всегда тестируйте обновления и бэкапы на тестовой среде перед применением в продакшене.

Ключевые действия для начала эксплуатации:

  • Проверьте логи: journalctl -u orientdb -b и /opt/orientdb/log/.
  • Настройте мониторинг JVM и метрик сервера.
  • Организуйте регулярные бэкапы и проверку восстановления.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Разные обои для каждого рабочего стола Android
Android.

Разные обои для каждого рабочего стола Android

Мониторинг Apache Tomcat: счётчики и правила
Мониторинг.

Мониторинг Apache Tomcat: счётчики и правила

Защита от clickjacking: руководство
Кибербезопасность

Защита от clickjacking: руководство

Разные обои для каждого экрана Android
Android.

Разные обои для каждого экрана Android

Удаление данных с сайтов брокеров
Конфиденциальность

Удаление данных с сайтов брокеров

Разные обои для каждой домашней страницы Android
Android.

Разные обои для каждой домашней страницы Android