Como instalar o Apache Cassandra no Rocky Linux 9/8

Apache Cassandra é um banco de dados distribuído altamente escalável e de alto desempenho, projetado para lidar com grandes quantidades de dados em muitos servidores comuns, fornecendo alta disponibilidade sem nenhum ponto único de falha. É conhecido por seu suporte robusto a clusters que abrangem vários data centers, com replicação assíncrona sem mestre, permitindo baixa latência e simplicidade operacional. Cassandra é ideal para aplicações que exigem alto rendimento de gravação, tolerância a falhas e escalabilidade linear.

O guia a seguir demonstrará as etapas para instalar o Apache Cassandra no Rocky Linux 9 ou 8 usando comandos de linha de comando. Esse processo envolve configurar o repositório apropriado e configurar seu sistema para garantir desempenho e confiabilidade ideais para seu ambiente de banco de dados distribuído.

Atualize o sistema Rocky Linux antes da instalação do Apache Cassandra

Primeiro, antes de instalar o Apache Cassandra, é uma boa ideia garantir que todos os pacotes do sistema estejam atualizados para evitar possíveis problemas ao instalar o banco de dados NoSQL.

Em seu terminal, execute o seguinte comando e atualize todos os pacotes pendentes.

sudo dnf upgrade --refresh

Importar repositório Apache Cassandra

A primeira etapa envolve a importação do repositório para Apache Cassandra. Felizmente, você pode fazer isso com um único comando. O tutorial mostrará como importar as ramificações 5.0, 4.0 ou 4.1. Como o branch 3.xx está chegando ao fim, o tutorial não incluirá instruções para adicioná-los.

4.0 Importação RPM do Apache Cassandra

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 Importação RPM do Apache Cassandra

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

5.0 Importação RPM do Apache Cassandra

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

Instale o Apache Cassandra via comando DNF

Você pode instalar o Cassandra com o seguinte comando; o repositório foi importado.

sudo dnf install cassandra -y

Confirme a versão instalada executando o seguinte comando.

cassandra -v

Observe se você vir o seguinte erro ao importar chaves 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'.

Altere as políticas de criptografia e defina a política como LEGACY.

sudo update-crypto-policies --set LEGACY

Às vezes, pode ser necessário reinicializar para que essa alteração ocorra com êxito. Achei que você não precisava, mas é aconselhável.

reboot

Criar serviço Apache Cassandra Systemd

Após a conclusão da instalação, você precisa criar o serviço systemd. Novamente, esta é uma tarefa simples; copie e cole o seguinte comando para criar o arquivo.

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

Você deve recarregar o daemon para começar a usar o serviço Cassandra e não pode pular esta etapa.

sudo systemctl daemon-reload

Agora, inicie o serviço Cassandra.

sudo systemctl start cassandra

Em seguida, verifique o status systemctl do Cassandra para garantir que não haja erros.

systemctl status cassandra

Opcionalmente, você pode ativar o serviço Cassandra na inicialização automática ao iniciar seu computador ou servidor usando o seguinte comando.

sudo systemctl enable cassandra

Instale o cliente Apache Cassandra (cqlsh) no Rocky Linux

Instale Python

Antes de instalar o cliente Cassandra, certifique-se de que o Python esteja disponível em seu sistema. Cliente do Apache Cassandra, cqlsh, é baseado em Python, tornando o Python um pré-requisito. Instale Python no Rocky Linux executando:

sudo dnf install python3 -y

Instalar PIP

Em seguida, instale o PIP, gerenciador de pacotes Python, para gerenciar pacotes Python. PIP é essencial para instalar o driver Cassandra Python. Se o PIP ainda não estiver instalado no seu sistema, adicione-o executando:

sudo dnf install python3-pip -y

Instale o driver Cassandra Python

O driver Cassandra Python é necessário para cqlsh para se conectar ao banco de dados Cassandra. Este driver permite a comunicação entre o cliente e o banco de dados. Instale o driver usando PIP com o comando:

pip install cassandra-driver

Instalando cqlsh

Com os pré-requisitos em vigor, agora você está pronto para instalar cqlsh. Esta interface de linha de comando permite a interação com o Apache Cassandra, permitindo executar consultas e gerenciar seu banco de dados. Instalar cqlsh executando:

pip install cqlsh

Por último, conecte-se com cqlsh usando o seguinte comando.

cqlsh

Exemplo de saída de sua conexão bem-sucedida:

[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh> 

Configurar o Apache Cassandra

Configurar e personalizar o Cassandra requer alterações em seus arquivos de configuração e a utilização de certos utilitários de linha de comando.

Configurando a configuração básica

Os principais arquivos de configuração do Cassandra estão localizados em /etc/cassandra. Enquanto isso, os diretórios de logs e dados normalmente estão situados em /var/log/cassandra e /var/lib/cassandra respectivamente.

Para ajustes no nível da JVM, como tamanho de heap, você olharia para o /etc/cassandra/conf/cassandra-env.sh arquivo. Dentro deste arquivo, você pode adicionar argumentos de linha de comando JVM complementares ao JVM_OPTS variável que Cassandra lê na inicialização.

Habilitando a autenticação do usuário com Apache Cassandra

Antes de ativar a autenticação do usuário, é aconselhável criar um backup do /etc/cassandra/conf/cassandra.yaml arquivo:

sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup

Posteriormente, abra o cassandra.yaml arquivo:

sudo nano /etc/cassandra/conf/cassandra.yaml

Dentro do arquivo, você deseja pesquisar e modificar estes parâmetros:

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

Ajuste outras configurações de acordo com suas necessidades e, se elas aparecerem comentadas, remova o comentário. Conclua o processo de edição salvando o arquivo.

Depois, reinicie o Cassandra para aplicar suas modificações:

sudo systemctl restart cassandra

Adicionando um superusuário administrativo para Apache Cassandra

Com a autenticação agora ativada, é essencial configurar um usuário. Usando o utilitário shell Cassandra Command, faça login usando as credenciais de usuário padrão:

cqlsh -u cassandra -p cassandra

Inicie um novo superusuário substituindo [username] e [yourpassword] com suas especificidades:

CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

Depois disso, saia e faça login novamente com seus novos dados de superusuário:

cqlsh -u username -p yourpassword

Diminua as permissões elevadas da conta Cassandra padrão:

ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

E conceda permissões completas ao seu superusuário:

GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

Conclua esta seção efetuando logout.

Personalizando a configuração do console

O Cassandra Shell pode ser adaptado às suas necessidades. Ele lê sua configuração do cqlshrc arquivo encontrado no ~/.cassandra diretório. Um arquivo de amostra que fornece insights sobre possíveis configurações está em /etc/cassandra/conf/cqlshrc.sample.

Comece copiando este arquivo de exemplo:

sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc

Ajusta a cqlshrc permissões do arquivo:

sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc

Abra-o para edição:

nano ~/.cassandra/cqlshrc

Para automatizar o login com credenciais de superusuário, localize e edite a seguinte seção:

[authentication]
username = [superuser]
password = [password]

Lembre-se de salvar após concluir suas edições. Agora, quando você fizer login no shell do Cassandra, suas alterações serão refletidas:

cqlsh

Renomeando o Cluster

Talvez você queira renomear o cluster para tornar o sistema mais identificável. Comece fazendo login no cqlsh terminal:

cqlsh

Substituir [new_name] com o nome do cluster desejado:

UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

Saia do terminal e abra /etc/cassandra/conf/cassandra.yaml para edição adicional:

sudo nano /etc/cassandra/conf/cassandra.yaml

Localize o cluster_name variável e substitua seu valor pelo nome escolhido. Salve suas alterações.

Por último, limpe o cache do sistema do Cassandra:

nodetool flush system

Reinicie Cassandra:

sudo systemctl restart cassandra

Quando você fizer login no shell, ele exibirá o nome do cluster escolhido.

Verificando alterações de configuração

Depois de fazer alterações na configuração, é sempre uma boa prática garantir que elas tenham efeito e verificar a integridade geral do cluster Cassandra.

Verificação de nome de cluster: Publique o processo de renomeação quando você fizer login novamente no cqlsh concha:

cqlsh

O prompt agora deve exibir o nome do cluster recém-definido.

Conclusão

Neste guia, percorremos as etapas para instalar o Apache Cassandra no Rocky Linux, abrangendo as versões 9 e 8. Estas instruções fornecem uma solução de banco de dados robusta e escalável para necessidades de big data. Verifique regularmente se há atualizações para manter o Cassandra com bom desempenho e segurança. Pratique o uso do Cassandra para dominar totalmente seus recursos. Mergulhe, experimente e veja como isso pode transformar seu gerenciamento de dados.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário