Установка Apache Cassandra на Debian 11

Введение
Apache Cassandra — свободная распределённая СУБД. Она масштабируется горизонтально и обеспечивает высокую доступность без единой точки отказа. Cassandra использует одноранговую (peer-to-peer) архитектуру: каждый узел может обслуживать запросы и выполнять все операции самостоятельно.
В этом руководстве показано, как установить Cassandra на Debian 11 и выполнить базовую проверку и настройку.
Кому это нужно
- Системным администраторам, которым требуется развернуть кластер Cassandra.
- Разработчикам, которым нужна среда для тестирования распределённой базы.
- Инженерам надежности, готовящим мониторинг и резервирование.
Требования
- Сервер с Debian 11.
- Пароль root либо привилегии sudo.
- Доступ в интернет для загрузки пакетов.
Шаг 1 — Установка Java
Cassandra требует Java (рекомендуется OpenJDK 11 для Cassandra 4.x). Установите Java командой:
apt-get install openjdk-11-jre -yПроверьте установку:
java -versionОжидаемый пример вывода (версии могут отличаться):
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)Важно: для концернов и production-окружений согласуйте версию Java с документацией конкретной версии Cassandra.
Шаг 2 — Добавление репозитория Cassandra и установка
По умолчанию пакет Cassandra отсутствует в репозиториях Debian 11. Добавим официальный репозиторий и ключ GPG.
Установите зависимости:
apt-get install curl gnupg2 -yДобавьте ключ и репозиторий:
curl https://downloads.apache.org/cassandra/KEYS | apt-key add -
echo "deb https://downloads.apache.org/cassandra/debian 40x main" | tee -a /etc/apt/sources.list.d/cassandra.listОбновите список пакетов и установите Cassandra:
apt-get update -y
apt-get install cassandra -yПроверка службы:
systemctl status cassandraПример ожидаемого состояния: служба active (running).
Шаг 3 — Проверка кластера
Дождитесь полной инициализации узла, затем выполните:
nodetool statusОжидаемый вывод показывает состояние узла (UN — Up/Normal):
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 69.09 KiB 16 100.0% 2813344d-5006-4360-a57e-61deeea9fe70 rack1Подключитесь к cqlsh:
cqlshОжидаемый приветственный вывод показывает имя кластера и версии:
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>Шаг 4 — Базовая конфигурация
Если нужно изменить имя кластера в базе через cqlsh:
cqlsh> UPDATE system.local SET cluster_name = 'New Cluster' WHERE KEY = 'local';Затем выйдите:
cqlsh> exitОтредактируйте основной конфигурационный файл:
nano /etc/cassandra/cassandra.yamlНайдите и измените строку cluster_name:
cluster_name: 'New Cluster'Сохраните файл и перезапустите службу:
systemctl restart cassandraПроверьте подключение снова через cqlsh — в приветствии должно отобразиться новое имя кластера.
Частые задачи и отладка
Важно: при проблемах с запуском проверьте логи и системные службы.
- Просмотр логов службы systemd:
journalctl -u cassandra -b --no-pager- Просмотр логов Cassandra:
less /var/log/cassandra/system.log- Проверка порта CQL (по умолчанию 9042):
ss -tlnp | grep 9042- Быстрый рестарт при тестах:
systemctl restart cassandraКонтрольная таблица команд (cheat sheet)
- Установка Java: apt-get install openjdk-11-jre -y
- Добавление репозитория: curl … | apt-key add -
- Установка Cassandra: apt-get install cassandra -y
- Статус службы: systemctl status cassandra
- Состояние узла: nodetool status
- Подключение: cqlsh
- Логи: /var/log/cassandra/system.log
Рекомендации по безопасности и соответствию
- Включите аутентификацию и авторизацию через cassandra.yaml (authenticator и authorizer).
- Настройте TLS для клиентских соединений и межузлового трафика.
- Ограничьте доступ по firewall (разрешить 7000/7001/7199/9042/9142 по необходимости).
- Для GDPR: минимизируйте хранение персональных данных и документируйте управление ключами шифрования.
Развёртывание в production: мини‑методология
- План: определите размер кластера, RF (replication factor) и политику резервного копирования.
- Сеть: выделите VLANs и настройте межузловую сетевую связность с низкой задержкой.
- Размещение: используйте разметку по rack/availability-zones в cassandra.yaml.
- Сбор метрик: интегрируйте Prometheus + Grafana, собирайте nodetool и JMX метрики.
- Тестирование: нагрузочные тесты, проверка отказоустойчивости и восстановления.
Когда этот метод не подходит
- Малые проекты с простыми SQL‑требованиями: реляционная СУБД может быть проще.
- Транзакционные нагрузки с сильными ACID‑гарантиями: Cassandra слабее в strict transactions.
- Среды с ограниченным администрированием: Cassandra требует навыков поддержки кластера.
Альтернативы
- Apache HBase — для очень больших наборов с tight Hadoop интеграцией.
- ScyllaDB — drop‑in совместимость с Cassandra, более высокая производительность на C++.
- PostgreSQL (sharding/partitioning) — для сильных требований к транзакциям.
Роли и чек-листы
DBA:
- Проверить RF и стратегии репликации.
- Настроить резервные копии и восстановление.
- Тестировать восстановление данных.
Системный админ:
- Установить Java и Cassandra.
- Настроить systemd и мониторинг.
- Настроить firewall и TLS.
Разработчик:
- Проверить схемы в CQL.
- Написать тесты на отказоустойчивость клиента.
- Оптимизировать запросы по партициям.
Критерии приёмки
- nodetool status показывает UN для всех узлов.
- cqlsh подключается и выполняет простые запросы.
- Служба systemd — active (running) без ошибок в логах.
Краткая сводка по совместимости и миграции
- Cassandra 4.x хорошо работает с Java 11. Для более ранних версий Cassandra проверяйте совместимость Java.
- Перед миграцией проведите тесты на staging с вашими реальными нагрузками и схемами.
Глоссарий (1‑строчная)
- Узел: отдельный сервер в кластере Cassandra.
- Seed node: начальные узлы, которые помогают новым узлам обнаружить кластер.
- Token: числовая метка, определяющая, за какую часть данных отвечает узел.
- Replication factor: количество копий данных в кластере.
- CQL: Cassandra Query Language, SQL‑подобный язык запросов для Cassandra.
Заключение
Вы успешно установили Apache Cassandra на Debian 11 и выполнили базовую настройку. Для production-развёртывания дополните конфигурацию стратегиями резервного копирования, шифрованием и мониторингом. Тестируйте восстановление и отказоустойчивость на выделенной среде.
Важно: перед развёртыванием в продакшн проведите нагрузочное тестирование и согласуйте версии Java и Cassandra.
Сводка:
- Установите Java 11, добавьте репозиторий и установите cassandra.
- Проверьте nodetool status и подключение через cqlsh.
- Настройте безопасность, мониторинг и резервное копирование.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента