Установка и запуск простого кластера Cassandra
Apache Cassandra — это распределенная система баз данных NoSQL с открытым исходным кодом. Система Cassandra считается очень надежной и используется для критически важных приложений и установок с несколькими нодами, поскольку она масштабируемая, гибкая и отказоустойчивая. Управление базой данных Cassandra происходит через систему нод, которые хранятся в кластере.
В этом руководстве вы узнаете, как установить Cassandra и использовать эту СУБД для запуска кластера с одной нодой.
Требования
- Настроенный виртуальный сервер (мы используем Ubuntu 22.04, настроенный согласно этому руководству), не менее 2 ГБ ОЗУ. Cassandra не будет работать на сервере с 1 ГБ ОЗУ. Дополнительную информацию о требованиях вы найдете в официальном руководстве по Cassandra.
- Установка Java на вашем компьютере. Вы можете установить одну из сред: OpenJDK 8, OpenJDK 11, Oracle Java Standard Edition 8 или Oracle Java Standard Edition 11. Инструкции вы найдете в материале Установка Java с помощью apt.
Примечание: Если вы обновите базу данных пакетов и сервер с помощью команд sudo apt update и sudo apt upgrade, а затем перезагрузите сервер, предупреждение, о котором мы поговорим в разделе 1, не появится снова.
1: Установка Cassandra
Для установки Cassandra мы используем пакеты из официальных репозиториев Apache Software Foundation. Для начала нужно добавить репозиторий, чтобы пакеты стали доступны в вашей системе.
Для начала войдите на сервер:
ssh 8host@your-server-ip
Обновите базу пакетов:
sudo apt update
А затем обновите систему:
sudo apt upgrade
Чтобы подтвердить действия, нажмите у.
Во время процесса обновления система может запросить информацию об установленной версии ядра и предложить перезагрузить сервер. Вы не увидите этих диалоговых окон, если вы обновили и перезагрузили сервер, как было сказано в разделе Требования.
Нажмите Enter, чтобы закрыть окно, но не забудьте перезагрузить сервер после выполнения этого руководства.
Вы также можете увидеть следующее окно. Если оно появилось на экране, нажмите Enter, чтобы принять вариант по умолчанию.
После обновления используйте следующую команду, чтобы добавить официальный репозиторий Cassandra в систему:
echo “deb http://www.apache.org/dist/cassandra/debian 40x main” | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
Команда echo запишет строку в кавычках в стандартный вывод, который передается по конвейеру команде tee. Она вносит его в файл cassandra.sources.list. Флаг -a в команде tee добавить строку в конец файла. В противном случае команда полностью перезапишет существующий контент, если таковой там имеется.
На момент написания статьи последняя версия Cassandra — 4.0.4. Команда ссылается на 40x, поскольку мы добавили репозиторий для Cassandra 4.0.
В случае успешного выполнения команды на экране будет вывод:
deb http://www.apache.org/dist/cassandra/debian 40x main
Затем с помощью команд wget и tee добавьте ключи репозитория в список доверенных ключей в системе:
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo tee /etc/apt/trusted.gpg.d/cassandra.asc
Команда wget загружает файл KEYS, который затем передается по конвейеру в команду tee. Команда tee записывает полученные данные в файл cassandra.asc. Опция q подавляет обычный вывод команды wget, а опция O записывает загруженный файл в стандартный вывод (который определяется символом -).
Снова обновите базу пакетов:
sudo apt update
Теперь можно установить Cassandra:
sudo apt install cassandra
При появлении запроса подтвердите установку, нажав y.
Система Cassandra теперь установлена на сервере. В следующем разделе мы подтвердим, что демон Cassandra запущен.
2: Тестирование установки Cassandra
После установки пакета демон Cassandra должен запуститься автоматически.
Чтобы убедиться, что это произошло, используйте эту команду:
sudo systemctl status cassandra
Вы получите примерно следующий вывод:
cassandra.service - LSB: distributed storage system for structured data Loaded: loaded (/etc/init.d/cassandra; generated) Active: active (running) since Tue 2022-06-28 03:25:52 UTC; 1min 32s ago Docs: man:systemd-sysv-generator(8) Process: 4606 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS) Tasks: 52 (limit: 9495) Memory: 2.2G CPU: 17.401s CGroup: /system.slice/cassandra.service └─4723 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX> Jun 28 03:25:52 ubuntu-cass systemd[1]: Starting LSB: distributed storage system for structured data... Jun 28 03:25:52 ubuntu-cass systemd[1]: Started LSB: distributed storage system for structured data.
Если выходные данные показывают, что демону не удалось запуститься из-за ошибки oom-kill, это значит, что у вашего сервера не хватает памяти. Чтобы решить эту проблему, добавьте больше оперативной памяти на сервер.
Теперь, когда мы убедились, что демон Cassandra запущен, мы проверим состояние кластера и подключимся к нему.
3: Подключение к кластеру
Для подключения к кластеру мы используем утилиту nodetool.
Чтобы проверить состояние кластера, введите:
sudo 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.08 KiB 16 100.0% d9618485-4c16-4feb-8a2a-632192c0d587 rack1
Затем подключитесь к кластеру при помощи интерактивной командной строки cqlsh:
cqlsh
Вы получите такой результат:
Connected to Test Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.4 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help.
Введите следующую команду, чтобы выйти из этой оболочки:
exit
Заключение
В этом мануале вы узнали, как установить СУБД Cassandra на свой сервер, проверить ее работу и запустить простой кластер. Больше информации об этой программе вы найдете на официальном сайте проекта.
Tags: Apache Cassandra, Cassandra, Ubuntu 22.04