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

Установка и настройка 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
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро