Установка и настройка RethinkDB на Ubuntu 18.04
К чему стремиться
- Быстро развернуть RethinkDB на Ubuntu 18.04 и запустить панель администратора.
- Настроить одну инстанцию, подключить Python-драйвер и выполнить базовые операции: создать БД, таблицу и вставить данные.
Кому это подходит
Кратко: системным администраторам и разработчикам, которым нужна база данных с поддержкой realtime-операций и простой кластеризацией.
Требования
- Сервер Ubuntu 18.04 (в примере использована версия 18.04.3). Рекомендуемый минимум: 2 ГБ ОЗУ и 2 vCPU.
- Доступ root или sudo.
Что мы сделаем
- Установим RethinkDB
- Настроим RethinkDB
- Установим клиентский драйвер Python
- Откроем панель управления RethinkDB
Шаг 1 — Добавление репозитория RethinkDB
Сначала добавим репозиторий RethinkDB и GPG-ключ в систему Ubuntu.
Загрузите переменные окружения из файла /etc/lsb-release:
source /etc/lsb-releaseДобавьте репозиторий и ключ:
echo "deb https://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
Обновите индекс пакетов:
sudo apt updateДождитесь окончания обновления списков пакетов.
Шаг 2 — Установка и базовая конфигурация RethinkDB
Установите пакет rethinkdb:
sudo apt install rethinkdbПосле установки перейдите в каталог конфигурации и скопируйте пример конфигурации в отдельный инстанс:
cd /etc/rethinkdb/
cp default.conf.sample instances.d/instance1.confОткройте файл конфигурации для редактирования (в примере используется vim):
vim instances.d/instance1.confНайдите параметр bind и раскомментируйте его, указав локальный IP сервера:
bind=10.5.5.15Ниже найдите параметр server-name, раскомментируйте и задайте имя инстанса:
server-name=instance1Сохраните изменения и закройте редактор.
Перезапустите сервис и включите автозапуск при загрузке:
systemctl restart rethinkdb
systemctl enable rethinkdb
Проверьте статус службы:
systemctl status rethinkdb
В результате RethinkDB запущен на сервере Ubuntu 18.04.
По умолчанию RethinkDB использует три порта:
- 28015 — клиентский порт (driver)
- 8080 — HTTP-панель администратора (Dashboard)
- 29015 — порт кластера
Шаг 3 — Установка клиентского драйвера RethinkDB для Python
RethinkDB имеет несколько клиентских драйверов (Python, JavaScript, Ruby и т.д.). Здесь показана базовая работа с Python 3.
Установите python3 и pip3, если они не установлены:
sudo apt install python3 python3-pipУстановите драйвер RethinkDB для Python:
pip3 install rethinkdb
Запустите интерактивную оболочку Python:
python3Импортируйте модуль:
from rethinkdb import rПодключение к RethinkDB
Подключитесь к локальному серверу на порту 28015:
conn = r.connect(host='localhost', port=28015)Создание базы данных
Создаём базу данных dbtest:
r.db_create('dbtest').run(conn)Просмотр списка баз
r.db_list().run(conn)
Создание таблицы
Создаём таблицу users в базе dbtest:
r.db('dbtest').table_create('users').run(conn)Вставка данных
Вставляем пример записи в таблицу users:
r.db('dbtest').table("users").insert({
"id": 1,
"name": "Hakase-Labs",
"site": "hakase-labs.local"
}).run(conn)Просмотр данных
r.db('dbtest').table('users').run(conn)
В результате вы подключились к RethinkDB, создали базу и таблицу и вставили данные с помощью Python-драйвера.
Шаг 4 — Доступ к панели RethinkDB
По умолчанию панель администратора доступна на порту 8080. В браузере введите адрес сервера с портом, например:
Вы увидите веб-интерфейс панели администратора.

Перейдите в меню Tables, чтобы просмотреть базы данных и таблицы:

Кликните по имени таблицы, чтобы увидеть записи:

В итоге установка и начальная настройка RethinkDB на Ubuntu 18.04 выполнены успешно.
Проверка работоспособности и приёмка
Критерии приёмки:
- Служба rethinkdb запущена и активна (systemctl status показывает active).
- Порты 28015, 8080 и 29015 слушаются на хосте.
- Веб-панель доступна по http://
:8080/. - Python-скрипт корректно подключается и выполняет r.db_create, table_create и insert.
Проверочные команды:
systemctl status rethinkdb
ss -tuln | grep -E '28015|8080|29015'
curl -s http://127.0.0.1:8080/ | headЧастые ошибки и способы устранения
- Проблема: панель недоступна извне.
- Проверьте bind в конфиге: он должен содержать IP, который слушает интерфейс, или 0.0.0.0 для всех интерфейсов.
- Проверьте правила брандмауэра (ufw, iptables).
- Проблема: клиент не подключается на 28015.
- Убедитесь, что нет SELinux/профилей безопасности, блокирующих соединения.
- Проверьте, что в конфиге cluster-port и client-port не переопределены в конфликтные значения.
- Проблема: служба не стартует.
- Посмотрите журналы: journalctl -u rethinkdb –no-pager.
Меры безопасности и рекомендации
- Не оставляйте веб-панель доступной в публичном интернете без аутентификации и прокси. Используйте обратный прокси (NGINX) с HTTPS и базовой аутентификацией или VPN.
- Настройте брандмауэр: разрешите доступ на 8080 и 28015 только с доверенных адресов.
- Регулярно делайте бэкапы данных. RethinkDB поддерживает экспорт/импорт данных через инструменты и драйверы.
- Для production используйте кластер из нескольких инстансов для высокой доступности и репликации.
Альтернативы и когда RethinkDB не подходит
- Если вам нужна тесная интеграция с SQL и транзакциями уровня ACID — рассмотрите PostgreSQL.
- Для простых ключ-значение сценариев может быть лучше Redis.
- RethinkDB хорош для реального времени, но если проект требует активной коммерческой поддержки и зрелой экосистемы, оцените современные managed-решения (например, облачные NoSQL‑сервисы).
Краткая методология развёртывания (чеклист для команды)
Для администратора:
- Проверить совместимость ОС и обновить пакеты.
- Добавить репозиторий и ключ.
- Установить пакет и создать конфиг-инстанс.
- Настроить bind и server-name.
- Настроить брандмауэр и прокси для панели.
- Включить системные бэкапы.
Для разработчика:
- Установить клиентский драйвер в окружение.
- Написать тестовый скрипт подключения и CRUD-операций.
- Добавить мониторинг (SLA/SLI) и алерты на падение инстанса.
Контрольные примеры и тесты приёмки
- Тест 1: подключение из Python — ожидается отсутствие исключений при r.connect.
- Тест 2: создание и удаление БД — r.db_create и r.db_drop должны выполняться.
- Тест 3: консистентность данных между репликами в кластере (если есть) — запись должна появиться на всех репликах.
Короткий глоссарий
- Инстанс — запущенный экземпляр RethinkDB с собственной конфигурацией.
- bind — IP-адрес или интерфейс, на котором RethinkDB слушает запросы.
- Dashboard — веб-интерфейс для администрирования RethinkDB.
Итог
Вы успешно установили RethinkDB на Ubuntu 18.04, настроили базовый конфиг, подключились через Python-драйвер и проверили работу панели администратора. Следующие шаги: настроить бэкапы, настроить безопасность для продакшена и рассмотреть кластеризацию для высокой доступности.
Важно: перед открытием панели в публичный доступ настройте обратный прокси с TLS и ограничения по IP.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента