Apache Cassandra — это масштабируемая высокопроизводительная распределенная база данных, предназначенная для обработки больших объемов данных на множестве стандартных серверов, обеспечивающая высокую доступность без единой точки отказа. Она известна своей надежной поддержкой кластеров, охватывающих несколько центров обработки данных с асинхронной репликацией, обеспечивающей низкую задержку и простоту эксплуатации. Cassandra идеально подходит для приложений, требующих высокой пропускной способности при записи, отказоустойчивости и линейной масштабируемости.
В следующем руководстве будут показаны шаги по установке Apache Cassandra на Rocky Linux 9 или 8 с помощью команд командной строки. Этот процесс включает в себя настройку соответствующего репозитория и настройку вашей системы для обеспечения оптимальной производительности и надежности для вашей среды распределенных баз данных.
Обновите систему Rocky Linux перед установкой Apache Cassandra
Во-первых, перед установкой Apache Cassandra рекомендуется убедиться, что все системные пакеты обновлены, чтобы избежать любых потенциальных проблем при установке базы данных NoSQL.
В вашем терминале выполните следующую команду:.
sudo dnf upgrade --refresh
Импорт репозитория Apache Cassandra
Первый шаг включает импорт репозитория для Apache Cassandra. К счастью, вы можете выполнить это с помощью одной команды. В руководстве будет показано, как импортировать ветви 5.0, 4.0 или 4.1. Поскольку поддержка ветки 3.xx подходит к концу, в руководстве не будет инструкций по их добавлению.
Импорт RPM для Apache Cassandra 4.0
sudo tee /etc/yum.repos.d/cassandra-4.0.repo<<EOF
[cassandra]
name=Apache Cassandra 4.0
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
4.1 Импорт Apache Cassandra RPM
sudo tee /etc/yum.repos.d/cassandra-4.1.repo<<EOF
[cassandra]
name=Apache Cassandra 4.1
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
Импорт RPM Apache Cassandra 5.0
sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
Установка Apache Cassandra с помощью команды DNF
Вы можете установить Cassandra с помощью следующей команды; репозиторий был импортирован.
sudo dnf install cassandra -y
Убедитесь в правильности установки версии, выполнив следующую команду:
cassandra -v
Обратите внимание, если вы видите следующую ошибку при импорте ключей GPG.
Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Измените политику шифрования и установите для нее значение LEGACY.
sudo update-crypto-policies --set LEGACY
Иногда вам может потребоваться перезагрузка, чтобы это изменение было успешно выполнено.
Команда перезагрузки:
reboot
Создание службы Apache Cassandra Systemd
После завершения установки вам необходимо создать службу systemd. Опять же, это простая задача; скопируйте и вставьте следующую команду для создания файла.
sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
After=network.target
[Service]
Type=simple
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always
[Install]
WantedBy=multi-user.target
EOF
Вы должны перезагрузить демон, чтобы начать использовать службу Cassandra, и вы не можете пропустить этот шаг. Выполните следующую команду:
sudo systemctl daemon-reload
Теперь запустите службу Cassandra.
sudo systemctl start cassandra
Затем проверьте состояние systemctl Cassandra, чтобы убедиться в отсутствии ошибок.
systemctl status cassandra
При желании вы можете включить автоматический запуск службы Cassandra при запуске вашего компьютера или сервера, используя следующую команду:
sudo systemctl enable cassandra
Установка клиента Apache Cassandra (cqlsh) на Rocky Linux
Установка Python
Перед установкой клиента Cassandra убедитесь, что в вашей системе доступен Python. Клиент Apache Cassandra, cqlsh
основан на Python, что делает наличие Python обязательным условием. Установите Python в Rocky Linux, выполнив команду:
sudo dnf install python3 -y
Установка PIP
Затем установите PIP, менеджер пакетов Python, для управления пакетами Python. PIP необходим для установки драйвера Cassandra Python. Если PIP еще не установлен в вашей системе, добавьте его, запустив команду:
sudo dnf install python3-pip -y
Установка драйвера Cassandra Python
Драйвер Cassandra Python необходим для cqlsh
подключения к базе данных Cassandra. Этот драйвер обеспечивает связь между клиентом и базой данных. Установите драйвер с помощью PIP с помощью команды:
pip install cassandra-driver
Установка cqlsh
Теперь, когда все необходимые компоненты установлены, вы готовы к установке cqlsh
.
Этот интерфейс командной строки обеспечивает взаимодействие с Apache Cassandra, позволяя выполнять запросы и управлять вашей базой данных. Установите cqlsh
, выполнив команду:
pip install cqlsh
Наконец, подключитесь к cqlsh с помощью следующей команды:
cqlsh
Пример вывода вашего успешного подключения:
[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
Настройка Apache Cassandra
Настройка и персонализация Cassandra требует внесения изменений в ее конфигурационные файлы и использования определенных утилит командной строки.
Настройка базовой конфигурации
Основные файлы конфигурации для Cassandra находятся в /etc/cassandra
.
Между тем, журналы и каталоги данных обычно расположены в /var/log/cassandra
и /var/lib/cassandra
соответственно.
Для настроек на уровне JVM, таких как количество памяти «heap size», вам следует обратиться к файлу /etc/cassandra/conf/cassandra-env.sh
. В этом файле вы можете добавить дополнительные аргументы командной строки JVM к JVM_OPTS
переменной, которую Cassandra считывает при запуске.
Включение аутентификации пользователя с помощью Apache Cassandra
Перед активацией аутентификации пользователя целесообразно создать резервную копию файла /etc/cassandra/conf/cassandra.yaml
:
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
После этого откройте файл cassandra.yaml
:
sudo nano /etc/cassandra/conf/cassandra.yaml
В файле вам нужно будет выполнить поиск и изменить эти параметры:
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0
Настройте другие параметры в соответствии с вашими потребностями, и если они отображаются закомментированными, обязательно раскомментируйте их. Завершите процесс редактирования, сохранив файл.
После этого перезагрузите Cassandra, чтобы применить внесенные изменения:
sudo systemctl restart cassandra
Добавление администратора-суперпользователя для Apache Cassandra
Теперь, когда активирована аутентификация, важно настроить пользователя. Используя утилиту командной оболочки Cassandra, войдите в систему, используя учетные данные пользователя по умолчанию:
cqlsh -u cassandra -p cassandra
Создайте нового суперпользователя, заменив [username]
и [yourpassword]
с учетом ваших особенностей:
CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;
После этого выйдите и повторно войдите в систему, используя свои новые данные суперпользователя:
cqlsh -u username -p yourpassword
Уменьшите повышенные права учетной записи Cassandra по умолчанию:
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
И предоставить полные права вашему суперпользователю:
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';
Завершите эту часть выходом из системы.
Настройка конфигурации консоли
Оболочка Cassandra может быть адаптирована к вашим потребностям. Она считывает свою конфигурацию из cqlshrc
файла, находящегося в каталоге ~/.cassandra
. Пример файла, дающий представление о возможных настройках, находится по адресу /etc/cassandra/conf/cqlshrc.sample
.
Начните с копирования этого примера файла:
sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc
Настройте права доступа к cqlshrc
файлу:
sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc
Откройте его для редактирования:
nano ~/.cassandra/cqlshrc
Чтобы автоматизировать вход в систему с использованием учетных данных суперпользователя, найдите и отредактируйте следующий раздел:
[authentication]
username = [superuser]
password = [password]
Не забудьте сохранить изменения после завершения редактирования. Теперь, когда вы входите в оболочку Cassandra, в ней будут отражены ваши изменения:
cqlsh
Переименование кластера
Возможно, вы захотите переименовать кластер, чтобы сделать систему более идентифицируемой. Начните с входа в cqlsh
терминал:
cqlsh
Замените [new_name]
на желаемое имя кластера:
UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';
Выйдите из терминала и откройте /etc/cassandra/conf/cassandra.yaml
для дальнейшего редактирования:
sudo nano /etc/cassandra/conf/cassandra.yaml
Найдите переменную cluster_name
и замените ее значение выбранным вами именем. Сохраните изменения.
Наконец, очистите системный кэш Cassandra командой:
nodetool flush system
Перезапустите Cassandra:
sudo systemctl restart cassandra
Когда вы войдете в командную оболочку, она отобразит выбранное вами имя кластера.
Проверка изменений конфигурации
После внесения изменений в конфигурацию всегда рекомендуется убедиться, что они вступили в силу, и проверить общую работоспособность кластера Cassandra.
Проверка имени кластера: выполненные изменения будут видны при повторном входе в cqlsh
оболочку:
cqlsh
Теперь должно отображаться новое заданное имя кластера.
Заключение
В этом руководстве мы рассмотрели шаги по установке Apache Cassandra в Rocky Linux, охватывающие обе версии 9 и 8. Регулярно проверяйте наличие обновлений, чтобы Cassandra работала хорошо и безопасно. Попрактикуйтесь в использовании Cassandra, чтобы полностью освоить ее функции.