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

Установка и настройка ArangoDB на Debian 11

6 min read Databases Обновлено 24 Nov 2025
Установка ArangoDB на Debian 11
Установка ArangoDB на Debian 11

Изображение ArangoDB — логотип и схема много-модельной базы данных

Что такое ArangoDB

ArangoDB — современная свободная много-модельная СУБД, поддерживающая документы, графы и key/value. AQL (ArangoDB Query Language) — декларативный язык запросов для объединения разных моделей данных в одном запросе.

Краткое определение: AQL — декларативный язык для работы с документами и графами в ArangoDB.

Important: статья описывает установку на Debian 11 и настройку для локального или серверного развёртывания. Для управляемого облачного варианта (ArangoDB Oasis) процесс отличается.

Основные сценарии применения

  • Хранение документов + сложные графовые запросы в одной базе
  • Микросервисы, которым нужна ACID-поддержка и гибкая модель данных
  • Быстрая разработка прототипов с возможностью горизонтального масштабирования

Требования

  • Сервер с Debian 11
  • Пользователь с sudo-привилегиями
  • Доступ в интернет для скачивания репозитория и ключей

Установка ArangoDB

ArangoDB поставляется в виде бинарных пакетов для популярных дистрибутивов. На Debian мы добавим официальный репозиторий, импортируем GPG-ключ и установим пакет.

Сначала установите вспомогательные пакеты:

sudo apt install -y gnupg2 apt-transport-https

Добавьте GPG-ключ ArangoDB:

curl -OL https://download.arangodb.com/arangodb39/DEBIAN/Release.key  
sudo apt-key add - < Release.key

Добавление GPG-ключа ArangoDB

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

echo 'deb https://download.arangodb.com/arangodb39/DEBIAN/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
sudo apt update

После обновления установите пакеты ArangoDB:

sudo apt install arangodb3 arangodb3-dbg

Во время установки инсталлятор предложит задать пароль root для ArangoDB и другие опции (автоматическое обновление, резервное копирование старых данных). Следуйте подсказкам в интерактивном установщике.

Добавление репозитория ArangoDB в систему

Настройка пароля root для ArangoDB

Повтор ввода пароля root для ArangoDB

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

sudo systemctl start arangodb3
sudo systemctl enable arangodb3
sudo systemctl status arangodb3

Проверка статуса сервиса arangodb3

Оптимизация системы для ArangoDB

Для рабочего развёртывания важно настроить параметры ядра и окружения, чтобы ArangoDB работала стабильно и эффективно. Ниже — пример автозапуска скрипта оптимизации при загрузке.

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

sudo apt install sysfsutils -y

Создайте скрипт /etc/init.d/arangodb-os-optimization:

sudo nano /etc/init.d/arangodb-os-optimization

Содержимое скрипта:

#!/bin/bash  
  
### BEGIN INIT INFO  
# Provides: arangodb-memory-configuration  
# Required-Start:  
# Required-Stop:  
# Default-Start: 2 3 4 5  
# Default-Stop: 0 1 6  
# Short-Description: Set arangodb kernel parameters  
# Description: Set arangodb kernel parameters  
### END INIT INFO  
  
# 1 - Raise the vm map count value  
sudo sysctl -w "vm.max_map_count=2048000"  
  
# 2 - Disable Transparent Huge Pages  
sudo bash -c "echo madvise > /sys/kernel/mm/transparent_hugepage/enabled"  
sudo bash -c "echo madvise > /sys/kernel/mm/transparent_hugepage/defrag"  
  
# 3 - Set the virtual memory accounting mode  
sudo bash -c "echo 0 > /proc/sys/vm/overcommit_memory"

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

sudo chmod +x /etc/init.d/arangodb-os-optimization
sudo update-rc.d arangodb-os-optimization defaults

Пояснения по настройкам:

  • vm.max_map_count — увеличивает число отображаемых областей памяти процесса; нужно при больших индексах/сегментах.
  • Transparent Huge Pages (THP) — отключение THP (madvise) предотвращает деградацию производительности для некоторых нагрузок на БД.
  • overcommit_memory=0 — стандартное значение, которое управляет выделением памяти для процессов; в продакшне настройку стоит согласовать с администратором и тестами нагрузки.

Notes: эти изменения полезны большинству развёртываний, но перед продакшеном выполните тесты под нагрузкой и убедитесь, что политика резервного копирования и мониторинга настроены.

Создание скрипта оптимизации для ArangoDB

Подключение к ArangoDB, создание базы и пользователя

ArangoDB предоставляет интерактивную оболочку arangosh — похоже на mysql или psql. Подключитесь под root:

sudo arangosh

Введите пароль root. В консоли вы можете выполнять JavaScript-подобные команды и использовать встроенные модули.

Вход в оболочку arangosh как root

Пример создания пользователя и базы данных:

const users = require('@arangodb/users');
users.save('testuser', 'testpassword');

db._createDatabase('testdb');
users.grantDatabase('testuser', 'testdb', 'rw');

Выполните exit или нажмите Ctrl+C для выхода.

Создание пользователя и базы данных в arangosh

Подключение как новый пользователь к базе testdb:

sudo arangosh --server.endpoint tcp://127.0.0.1:8529 --server.username testuser --server.database testdb

Введите пароль testuser и убедитесь, что соединение установлено.

Вход в ArangoDB под новым пользователем testuser

Включение веб-консоли и доступ извне

По умолчанию веб‑интерфейс ArangoDB (порт 8529) слушает 127.0.0.1. Чтобы открыть консоль на внешнем IP, измените конфигурацию:

sudo nano /etc/arangodb3/arangod.conf

Измените строку endpoint на адрес сервера, например:

endpoint = tcp://192.168.5.20:8529

Сохраните файл и перезапустите сервис:

sudo systemctl restart arangodb3
ss -plnt

Откройте в браузере: http://192.168.5.20:8529/ и выполните вход под пользователем базы.

Страница входа в веб-консоль ArangoDB

Выбор базы данных в веб-консоли ArangoDB

Панель управления ArangoDB

Список пользователей ArangoDB в веб-консоли

Список баз данных ArangoDB в веб-консоли

Important: выставляя внешний bind‑адрес, обязательно настройте брандмауэр, TLS и учётные записи с минимально необходимыми правами.

Безопасность и рекомендации при развёртывании

  • Всегда используйте TLS/HTTPS для внешнего доступа. ArangoDB поддерживает TLS в конфигурации arangod.
  • Не используйте root для приложений; создайте привилегированного пользователя с ограниченными правами.
  • Настройте брандмауэр: разрешите порт 8529 лишь для доверенных IP или через VPN.
  • Включите бэкап и проверьте восстановление: инсталлятор предлагает резервную копию старых данных в /var/lib; дополнительно используйте регулярные дампы и архивы.
  • Мониторинг: собирайте метрики, логи и настраивайте алерты на падения сервиса, высокий лаг или ошибки транзакций.

Тесты приёмки и контрольные проверки

Критерии приёмки для базовой инсталляции:

  • Сервис arangodb3 запущен и включён в автозагрузку
  • arangosh подключается под root
  • Создан пользователь и база (users.grantDatabase успешно выполняется)
  • Веб‑консоль доступна по настроенному адресу
  • Базовые параметры ядра применены (vm.max_map_count, THP и т.д.)

Минимальный набор тестов:

  • Проверка статуса: sudo systemctl status arangodb3
  • Подключение arangosh под разными пользователями
  • CRUD-операции: вставка, чтение, обновление, удаление в тестовой коллекции
  • Создание и выполнение простого AQL-запроса на объединение документов и графа
  • Тест доступа к веб‑консоли и смена пароля пользователя

Резервирование и откат

Краткий playbook для отката до предыдущей версии/резервной копии:

  1. Остановите arangodb3: sudo systemctl stop arangodb3
  2. Найдите резервную папку с датой в /var/lib/ (инсталлятор указывает путь)
  3. Скопируйте/восстановите данные в рабочий каталог данных ArangoDB (учтите права и владельца)
  4. Запустите сервис и проверьте логи: journalctl -u arangodb3 -b

Notes: перед ручным восстановлением данных обязательно сделайте полную копию текущей директории данных.

Альтернатива и сценарии, когда этот метод не подходит

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

  • Docker-контейнеры: удобны для тестов и изолированных сред, но требуют управления персистентностью томов.
  • ArangoDB Oasis: управляемый облачный сервис, подходит если вы не хотите управлять серверами.
  • Сборка из исходников: когда требуется патч или специальная сборка

Когда установка через пакет не подходит:

  • Нужна специфическая версия пакета, которой нет в официальном репозитории
  • Ограничения на установку пакетов системы (изолированные окружения)
  • Требуется полноценное горизонтальное кластерное развёртывание со специфической конфигурацией — лучше подготовить план по сетям, балансировщикам и сертификатам

Паттерны использования и ментальные модели

  • Думайте о ArangoDB как об “одном хранилище” для микросервисов, где документы покрывают большинство CRUD, а графы решают связи и рекомендации.
  • Разделяйте рабочие нагрузки: OLTP в коллекциях, аналитика на отдельной базе/реплике.

Контрольный список для ролей

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

  • Установить пакеты и GPG-ключ
  • Настроить systemd и автозапуск
  • Настроить брандмауэр и TLS

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

  • Проверить подключение через arangosh
  • Создать тестовую базу и коллекции
  • Написать базовые AQL-запросы и пройти тесты приёмки

Оператор (DevOps):

  • Настроить мониторинг и бэкапы
  • Автоматизировать обновления и откат

Совместимость и заметки по миграции

  • Инструкция ориентирована на Debian 11 и пакеты ArangoDB 3.x
  • При миграции с более старых версий следуйте официальным указаниям по upgrade, особенно для кластерных развёртываний
  • Для systemd-сред убедитесь, что юниты arangodb3 корректно управляют сервисом после обновления

Справочная информация

Fact box:

  • Файлы конфигурации: /etc/arangodb3/arangod.conf
  • Порт по умолчанию: 8529
  • Входная оболочка: arangosh
  • Путь данных: /var/lib/arangodb3 (сервис создаёт резервные копии в /var/lib при установке)
  • Репозиторий: https://download.arangodb.com/arangodb39/DEBIAN/

Примеры тестовых сценариев

  1. Установка и запуск
  • Выполнить установку, убедиться, что systemctl report положительный
  1. Аутентификация
  • Подключиться arangosh под root, создать testuser и проверить доступ testuser
  1. Веб‑консоль
  • Открыть /_admin/ в браузере и пройти авторизацию
  1. Нагрузочный тест (рекомендуется на тестовой среде)
  • Запустить набор CRUD-тестов и замерить время отклика и использование памяти

Итог

Вы установили ArangoDB на Debian 11, настроили базовые параметры производительности, создали пользователя и базу через arangosh и включили веб-консоль. Следующие шаги: настроить TLS, мониторинг и регулярные бэкапы перед переводом в продакшен.

Ключевые действия для запуска в продакшен:

  • Защитить веб‑интерфейс TLS и брандмауэрами
  • Настроить мониторинг и резервное копирование
  • Провести нагрузочное тестирование и проверить настройки ядра

Спасибо за внимание. Удачного развёртывания ArangoDB!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Как устроить идеальную вечеринку для просмотра ТВ
Развлечения

Как устроить идеальную вечеринку для просмотра ТВ

Как распаковать несколько RAR‑файлов сразу
Инструменты

Как распаковать несколько RAR‑файлов сразу

Приватный просмотр в Linux: как и зачем
Приватность

Приватный просмотр в Linux: как и зачем

Windows 11 не видит iPod — способы исправить
Руководство

Windows 11 не видит iPod — способы исправить

PS5: как настроить игровые пресеты
Консоли

PS5: как настроить игровые пресеты

Как переключить камеру в Omegle на iPhone и Android
Руководство

Как переключить камеру в Omegle на iPhone и Android