Установка 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. Примеры интерфейса:
Вкладки интерфейса:
- Browse — выполнение запросов и просмотр данных.
- Schema — управление схемой (классы/колонки).
- Security — управление пользователями и правами.
Базовые операции в Studio
- Нажмите NEW DB, укажите имя базы.
- В поле Server User укажите root и введите пароль, заданный при первом старте.
- Нажмите 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.
Краткая методология установки
- Обновите систему.
- Установите Java и задайте JAVA_HOME.
- Создайте пользователя orientdb.
- Скачайте и распакуйте архив OrientDB.
- Дайте права пользователю и запустите bin/server.sh.
- Создайте systemd unit и включите автозапуск.
- Откройте порт 2480 и доступ к Studio.
Краткое руководство по миграции данных
- Экспортируйте данные через консоль EXPORT DATABASE.
- Для миграции схемы и данных между версиями тестируйте восстановление на стенде.
- При переходе на другую СУБД спланируйте трансформации схемы: граф → реляционная модель требует денормализации или отдельной таблицы связей.
Заключение
Мы установили OrientDB на CentOS 7, запустили сервер вручную и через systemd, настроили доступ к Studio и рассмотрели базовые рекомендации по безопасности, бэкапам и отладке. OrientDB подходит, если вам нужен гибрид документно-графовой базы данных с удобным веб-интерфейсом. Для продакшена проверьте настройки JVM, организуйте бэкапы и закройте публичный доступ к административному интерфейсу.
Важно: всегда тестируйте обновления и бэкапы на тестовой среде перед применением в продакшене.
Ключевые действия для начала эксплуатации:
- Проверьте логи: journalctl -u orientdb -b и /opt/orientdb/log/.
- Настройте мониторинг JVM и метрик сервера.
- Организуйте регулярные бэкапы и проверку восстановления.
Похожие материалы

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

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

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

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

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