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

Установка и настройка RethinkDB на Debian 10

• 5 min read • Базы данных • Обновлено 19 Nov 2025
Установка RethinkDB на Debian 10 — руководство
Установка RethinkDB на Debian 10 — руководство

Логотип RethinkDB и иллюстрация установки

О чём эта инструкция

RethinkDB — это свободная NoSQL СУБД, ориентированная на приложения с реальным временем. Она хранит документы в формате JSON, имеет простой язык запросов, умеет делать объединения (joins) и группировки. В этом руководстве вы узнаете, как установить и настроить RethinkDB на Debian 10, получить доступ к веб-интерфейсу и подготовить базовую эксплуатацию.

Предварительные условия

  • Сервер под управлением Debian 10 (Buster).
  • Настроен root-пароль либо доступ через sudo с правами администратора.
  • Базовые навыки работы в терминале и с редактором (nano/vi).

План действий

  1. Обновить систему.
  2. Добавить GPG-ключ и репозиторий RethinkDB.
  3. Установить пакет rethinkdb через APT или собрать из исходников.
  4. Настроить конфигурацию (включить веб-интерфейс, задать порты и директорию данных).
  5. Запустить службу, проверить статус и открыть веб-интерфейс.
  6. Настроить безопасность и мониторинг.

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

Перед началом убедитесь, что система актуальна:

apt-get update -y
apt-get upgrade -y

После обновления рекомендуется перезагрузить систему, если были обновления ядра или системных служб.

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

Установка через официальный репозиторий

RethinkDB по умолчанию отсутствует в стандартных репозиториях Debian 10, поэтому добавим официальный репозиторий.

  1. Импортируйте GPG-ключ:
wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | apt-key add -
  1. Добавьте репозиторий:
echo "deb https://download.rethinkdb.com/apt buster main" | tee /etc/apt/sources.list.d/rethinkdb.list
  1. Обновите список пакетов и установите RethinkDB:
apt-get update -y
apt-get install rethinkdb -y
  1. Запустите и включите службу:
systemctl start rethinkdb
systemctl enable rethinkdb

Вы увидите сообщение, похожее на:

rethinkdb.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable rethinkdb

Проверьте статус службы:

systemctl status rethinkdb

Ожидаемый результат: служба загрузилась и активна (в некоторых случаях скрипт может завершиться с exited, если не определены инстансы).

Конфигурация RethinkDB

По умолчанию пакет поставляет пример конфигурации. Создайте инстанс на базе шаблона:

cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf

Отредактируйте файл:

nano /etc/rethinkdb/instances.d/instance1.conf

Измените ключевые параметры в файле:

## Port for the RethinkDB web interface
http-port=8080
## Allow RethinkDB to accessible from the remote system.
bind=0.0.0.0
## The name of the server
server-name=server1
## Default directory to store data and metadata.
directory=/var/lib/rethinkdb/default

Пояснения:

  • http-port — порт для веб-интерфейса (по умолчанию 8080).
  • bind — IP-адрес интерфейса. 0.0.0.0 открывает доступ со всех адресов. Для безопасности указывайте конкретный IP в продуктиве.
  • server-name — произвольное имя узла в кластере.
  • directory — каталог для данных и метаданных.

Сохраните изменения и перезапустите службу:

systemctl restart rethinkdb

Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу:

http://your-server-ip:8080

Вы попадёте на панель управления RethinkDB.

Панель управления RethinkDB — список баз и метрик

С веб-интерфейса удобно просматривать базы, таблицы, метрики и управлять кластером.

Установка из исходников (если репозиторий не поддерживает вашу систему)

Если официальный пакет недоступен для вашей архитектуры или версии ОС, соберите RethinkDB из исходников.

  1. Установите зависимости:
apt-get install build-essential protobuf-compiler python curl libprotobuf-dev libcurl4-openssl-dev libboost-all-dev libncurses5-dev libjemalloc-dev wget m4 -y
  1. Скачайте исходники (пример для 2.4.0):
wget https://download.rethinkdb.com/dist/rethinkdb-2.4.0.tgz
  1. Распакуйте и соберите:
tar -xvzf rethinkdb-2.4.0.tgz
cd rethinkdb-2.4.0
./configure --allow-fetch
make
make install
  1. Запустите службу:
/etc/init.d/rethinkdb start

Сборка поднимет дополнительные зависимости и займёт время. В некоторых случаях полезно собрать на той же версии ОС, где будет работать сервис.

Базовая проверка и тесты

  1. Проверить открытые порты:
ss -tuln | grep -E "8080|28015|29015"

Ожидаемые порты:

  • 8080 — веб-интерфейс
  • 28015 — клиентский порт (драйверы)
  • 29015 — порт для внутренней связи кластера
  1. Выполнить простой запрос через JavaScript-пакет или Python-драйвер. Пример с RethinkDB Data Explorer в веб UI.

  2. Создать тестовую базу и таблицу, вставить документ и прочитать его.

Безопасность и настройки сети

  • Если вы открываете веб-интерфейс в интернет, ставьте обратный прокси с TLS (nginx, Caddy) или туннель (ssh tunnel, VPN).
  • Для продакшена задавайте bind на локальный интерфейс и используйте прокси.
  • Ограничьте доступ через брандмауэр (ufw/iptables):
ufw allow from <ваш-IP> to any port 8080
ufw allow from <ваш-IP> to any port 28015
ufw allow from <кластер-сеть> to any port 29015
  • Регулярно делайте резервные копии данных и конфигурации.

Резервное копирование и восстановление (простая методика)

  1. Остановите сервер RethinkDB или поставьте его в режим read-only для корректного слепка.
  2. Сделайте копию каталога data (directory) — например, /var/lib/rethinkdb/default.
systemctl stop rethinkdb
tar -czf rethinkdb-backup-$(date +%F).tar.gz /var/lib/rethinkdb/default
systemctl start rethinkdb
  1. Для восстановления распакуйте архив в каталог данных и перезапустите сервис.

Примечание: при восстановлении из бэкапа на другой версии RethinkDB тестируйте совместимость.

Масштабирование и кластер

  • Для кластерной конфигурации на каждой ноде укажите server-name и настройте порты для связи.
  • На одной ноде запустите несколько инстансов с разными конфигурациями, если нужно.
  • Используйте веб-интерфейс или API для добавления/удаления нод в кластер.

Трудности и отладка (частые проблемы)

  • “No instances defined” — значит, нет файлов конфигурации в /etc/rethinkdb/instances.d/. Создайте instance1.conf как описано.
  • Служба показывает exited — проверьте логи в /var/log/rethinkdb и вывод systemd.
  • Порт 8080 занят — измените http-port в конфиге.
  • Проблемы с правами доступа к каталогу directory — проверьте права владельца и разрешения.

Примеры команд для логов:

journalctl -u rethinkdb -b --no-pager
tail -n 200 /var/log/rethinkdb/*.log

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

  • Системный администратор:

    • Добавить репозиторий и ключи.
    • Настроить брандмауэр и TLS.
    • Настроить backup/restore.
  • Разработчик:

    • Проверить работу драйверов и соединения.
    • Создать тестовую базу и таблицу.
    • Протестировать типичные запросы и задержки.
  • DBA:

    • Планировать шардирование и репликацию.
    • Настроить мониторинг метрик и алерты.
    • Проводить контроль целостности данных.

Критерии приёмки

  • RethinkDB успешно установлен через apt или из исходников.
  • Веб-интерфейс доступен по http://:8080 (или через прокси/TLS).
  • Клиентские соединения принимаются на порту 28015.
  • Данные пишутся и читаются корректно при базовой проверке.
  • Налажено резервное копирование и есть план восстановления.

Советы по эксплуатации и производительности

  • Для больших нагрузок выделяйте отдельный диск для данных.
  • Используйте журналирование и мониторинг метрик (CPU, I/O, задержки).
  • Настраивайте ulimit и системные параметры (если нужно) для большого количества файлов.

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

  • Если вам нужна реляционная СУБД с ACID-транзакциями между таблицами, лучше рассмотреть PostgreSQL.
  • Для очень больших аналитических нагрузок OLAP чаще подходят специализированные решения.

Краткое резюме

RethinkDB легко устанавливается на Debian 10 через официальный репозиторий или из исходников. Основные шаги: добавить ключ и репозиторий, установить пакет, создать конфигурационный инстанс, включить веб-интерфейс и настроить безопасность. Для продакшена обязательно ограничьте доступ к веб-интерфейсу, настройте бэкапы и мониторинг.

Если у вас остались вопросы по конкретным сценариям (кластер, миграция данных, TLS через nginx), напишите, и я добавлю подробную инструкцию.

FAQ

Как изменить порт веб-интерфейса?

Отредактируйте http-port в файле /etc/rethinkdb/instances.d/instance1.conf и перезапустите службу:

systemctl restart rethinkdb

Как добавить вторую ноду в кластер?

На новой ноде установите RethinkDB и настройте server-name и порты. Затем в UI или через командную строку добавьте адрес существующей ноды в настройки кластера.

Где находится директория с данными?

Это параметр directory в конфигурационном файле. По умолчанию это /var/lib/rethinkdb/default.

Поделиться: 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 быстро