Установка и запуск простого кластера 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: , ,

Добавить комментарий