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

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

• 4 min read • Базы данных • Обновлено 25 Nov 2025
Установка Apache Cassandra на Debian 11
Установка Apache Cassandra на Debian 11

Схема кластера Apache Cassandra

Введение

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: мини‑методология

  1. План: определите размер кластера, RF (replication factor) и политику резервного копирования.
  2. Сеть: выделите VLANs и настройте межузловую сетевую связность с низкой задержкой.
  3. Размещение: используйте разметку по rack/availability-zones в cassandra.yaml.
  4. Сбор метрик: интегрируйте Prometheus + Grafana, собирайте nodetool и JMX метрики.
  5. Тестирование: нагрузочные тесты, проверка отказоустойчивости и восстановления.

Когда этот метод не подходит

  • Малые проекты с простыми 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.
  • Настройте безопасность, мониторинг и резервное копирование.
Поделиться: 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 быстро