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.