Установка Apache Cassandra на Ubuntu 16.04 (одноузловая)
Important: этот гайд ориентирован на одноузловую установку в тестовой среде. Для продакшена используйте как минимум три узла и настройте репликацию.
Что вы получите
- Пошаговая инструкция по установке Java 8 и Apache Cassandra на Ubuntu 16.04.
- Быстрые проверки работоспособности (nodetool, cqlsh).
- Альтернативные подходы, чеклист ролей, краткий «cheat sheet» команд и советы по совместимости.
Что потребуется
- Сервер с Ubuntu 16.04
- Права root или sudo
Шаг 1 — Установка Java 8 на Ubuntu 16.04
Apache Cassandra написана на Java, поэтому наличие корректной версии JVM обязательно. В этом руководстве мы используем Oracle Java 8 из PPA.
Перед добавлением PPA убедитесь, что установлен пакет python-software-properties (он добавляет утилиты для работы с репозиториями). Если пакет отсутствует — установите его:
sudo apt update
sudo apt install python-software-properties -yЗатем добавьте PPA с Java:
sudo add-apt-repository -y ppa:webupd8team/java
Затем обновите индексы пакетов и установите Java 8:
sudo apt update
sudo apt install oracle-java8-installer -yВо время установки согласитесь с лицензионным соглашением Oracle.
Проверьте версию Java:
java -versionОжидаемый результат: JVM запущена и отображается версия Java 1.8.x.
Шаг 2 — Установка Apache Cassandra на Ubuntu 16.04
Мы установим Cassandra из Debian-пакетов официального репозитория Apache.
Добавьте репозиторий Cassandra (в этом примере используется ветка 3.11.x):
echo "deb http://www.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.listИмпортируйте ключ разработчика и подпишите репозиторий:
curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -Обновите индексы и установите пакет:
sudo apt update
sudo apt install cassandra -yЗапустите сервис и включите автозапуск при загрузке:
sudo systemctl start cassandra
sudo systemctl enable cassandraПроверить состояние службы:
systemctl status cassandra
Если служба запущена, вы увидите состояние типа “active (running)”.
Шаг 3 — Базовые инструменты управления и тесты
Cassandra поставляется с несколькими утилитами командной строки. В одноузловой конфигурации вы всё равно можете использовать эти инструменты для диагностики.
nodetool — статус узла
nodetool управляет кластером Cassandra. Для проверки статуса выполните:
sudo nodetool statusОжидаемый вывод покажет ваш узел в состоянии “UN” или подобном (Up/Normal) и адрес localhost.
cqlsh — клиент CQL
cqlsh — командный клиент для выполнения CQL-запросов:
cqlshПосле подключения вы увидите приглашение CQL. Проверьте, что соединение установлено и вы видите имя кластера (обычно “Test Cluster”).
Критерии приёмки
- Служба Cassandra находится в состоянии active (running).
- nodetool status показывает узел как “Up” и “Normal”.
- cqlsh успешно подключается и позволяет выполнять CQL-запросы.
Mini-методология: быстрый чеклист установки
- Подготовка сервера: обновить систему, проверить диск/память.
- Установить Java 8 и проверить java -version.
- Добавить репозиторий Cassandra и ключи.
- Установить пакет cassandra.
- Запустить сервис и проверить systemctl status.
- Выполнить nodetool status и подключиться через cqlsh.
Note: если на сервере уже установлены другие версии Java (например OpenJDK 11), убедитесь, что JAVA_HOME указывает на Java 8, иначе Cassandra может не запуститься.
Альтернативные подходы
- Установка из бинарного tarball: скачайте официальный архив, распакуйте, настройте переменные окружения и запустите cassandra вручную. Подходит для пользовательских окружений и контроля версий.
- Использование Docker: официальный образ cassandra упрощает тестирование на локальной машине или CI.
- Apt-репозиторий сторонних поставщиков: иногда удобен для более новых версий, но проверяйте подпись пакетов.
Когда установка может провалиться (counterexamples)
- Неверная версия Java (Cassandra 3.11 требует Java 8). Если установлена Java 11+, сервис может не стартовать.
- Отключён доступ к репозиторию Apache из-за корпоративного фаервола — тогда apt не сможет загрузить пакеты.
- Недостаточно ресурсов (ОЗУ/диска). Cassandra требует несколько гигабайт RAM и свободного пространства на диске.
Совместимость и миграционные заметки
- Ubuntu: инструкция рассчитана на 16.04. Для 18.04/20.04/22.04 команды добавления репозитория и ключа остаются похожими, но рекомендуется проверять поддерживаемые версии Cassandra и Java.
- Версия Cassandra: в примере использована ветка 3.11.x. Для 4.x требуются другие системные зависимости и, возможно, Java 11.
Ролевые чеклисты
Системный администратор:
- Обновить пакеты OS, настроить firewall, выделить диски/разделы для данных Cassandra.
- Настроить мониторинг (nodetool, metrics).
Разработчик:
- Проверить подключение через cqlsh, выполнить базовые CREATE KEYSPACE/CREATE TABLE.
- Тестировать поведение репликации на многонодовой конфигурации.
Операции/DevOps:
- Настроить резервное копирование (snapshot), план обновлений и роллаута.
- Автоматизировать установку через конфигурационные менеджеры или контейнеры.
Cheat sheet — часто используемые команды
# Состояние сервиса
systemctl status cassandra
sudo systemctl start cassandra
sudo systemctl stop cassandra
# Проверка узла
sudo nodetool status
sudo nodetool info
# CQL
cqlsh
DESCRIBE KEYSPACES;
CREATE KEYSPACE demo WITH replication = {'class':'SimpleStrategy','replication_factor' : 1};
# Логи
tail -f /var/log/cassandra/system.logGlossary — 1‑строчное определение терминов
- Cassandra: распределённая NoSQL СУБД, ориентированная на масштабирование и отказоустойчивость.
- cqlsh: интерактивная оболочка для выполнения Cassandra Query Language.
- nodetool: утилита управления и диагностики кластера Cassandra.
- Keyspace: аналог базы данных или пространства имён в Cassandra.
Безопасность и эксплуатация (важные подсказки)
- В продакшне используйте минимум три узла и настройку репликации.
- Настройте бэкапы (snapshots) и план восстановления.
- Ограничьте доступ к порту 9042 и используйте шифрование на уровне сети при необходимости.
Краткое резюме
Мы установили Java 8, добавили репозиторий Apache Cassandra, установили пакет, запустили сервис и проверили его при помощи nodetool и cqlsh. Для тестовой или учебной среды одноузловая установка подходит, но для продакшена требуются дополнительные узлы и настройки репликации.
References
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента