Guia de tecnologias

Como instalar o Apache Cassandra no CentOS 8

5 min read Banco de Dados Atualizado 19 Oct 2025
Instalar Apache Cassandra no CentOS 8
Instalar Apache Cassandra no CentOS 8

Ilustração de cluster Apache Cassandra

Objetivo

Instalar e iniciar um nó Apache Cassandra no CentOS 8 para uso em desenvolvimento ou como nó inicial de um cluster de produção. Termos-chave: Cassandra — banco NoSQL distribuído; cqlsh — shell de consulta CQL; nodetool — utilitário de operação.

Principais variações de busca (SEO)

  • instalar Apache Cassandra CentOS 8
  • Cassandra CentOS 8 tutorial
  • configurar Cassandra no Linux
  • instalar dsc20 CentOS
  • cqlsh CentOS 8

Requisitos

  • Um servidor com CentOS 8 com pelo menos 2 GB de RAM.
  • Acesso root ou um usuário com sudo.
  • Conectividade de rede para baixar pacotes do repositório DataStax.

Important: 2 GB é o mínimo para testes; para produção recomenda-se ≥ 4–8 GB dependendo da carga e do número de nós.

Antes de começar

Atualize o sistema para a versão mais recente antes de instalar novos pacotes:

dnf update

Depois de atualizar, reinicie o servidor se o kernel ou componentes fundamentais foram atualizados.

Instalar Java e Python2

O Apache Cassandra requer OpenJDK 8 e Python2 para algumas ferramentas. Instale-os com:

dnf install java-1.8.0-openjdk-devel python2

Verifique a versão do Java:

java -version

Saída esperada (exemplo):

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Nota: versões mais recentes do Cassandra podem suportar Java 11; consulte a documentação da versão específica antes de migrar em produção.

Adicionar o repositório do Apache Cassandra (DataStax)

O Cassandra não está no repositório padrão do CentOS 8. Crie o arquivo de repositório:

nano /etc/yum.repos.d/cassandra.repo

Adicione estas linhas:

[cassandra]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 0

Salve e feche o arquivo. Em seguida, instale o pacote dsc20:

dnf install dsc20

Nota: o pacote dsc20 é fornecido pela DataStax para instalar uma versão compatível do Cassandra. Verifique a origem do repositório e as assinaturas em ambientes de produção.

Criar unidade systemd para Cassandra

Alguns pacotes não geram automaticamente um serviço systemd funcional. Crie o arquivo:

nano /etc/systemd/system/cassandra.service

Cole o seguinte conteúdo:

[Unit]
Description=Apache
Cassandra After=network.target
[Service]
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

Salve e recarregue o daemon systemd:

systemctl daemon-reload

Inicie e habilite o serviço para inicialização automática:

systemctl start cassandra
systemctl enable cassandra

Verifique o status:

systemctl status cassandra

Exemplo de saída (resumida):

? cassandra.service - Apache
   Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-12-07 01:25:26 EST; 1min 51s ago
 Main PID: 1888 (java)
    Tasks: 53 (limit: 25044)
   Memory: 272.7M
   CGroup: /system.slice/cassandra.service
           ??1888 java -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar ...

Logs importantes mostram que o CQL está escutando na porta 9042 e o Thrift na 9160 (se habilitado).

Testar a instalação com nodetool

Use o utilitário nodetool para conferir o estado do nó:

nodetool status

Saída esperada (exemplo):

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  46.11 KB   256     100.0%            2a680007-8c30-4bde-9a3f-9fa212b96d11  rack1

Explicação rápida: “UN” significa Up e Normal; “Tokens” indica partições virtuais por nó; “Owns” é a porcentagem efetiva de dados atribuída.

Acessar o CQL shell e alterar o nome do cluster

Para acessar o shell CQL:

cqlsh

Exemplo de conexão:

Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh>

Para renomear o cluster (exemplo):

cqlsh> UPDATE system.local SET cluster_name = 'HowtoForge Cluster' WHERE KEY = 'local';
cqlsh> exit;

Edite também o arquivo de configuração para persistir o nome do cluster:

nano /etc/cassandra/default.conf/cassandra.yaml

Altere:

cluster_name: 'HowtoForge Cluster'

Sincronize o estado do sistema e reinicie o serviço:

nodetool flush system
systemctl restart cassandra

Ao reconectar com cqlsh, verá o novo nome do cluster.

Configurações comuns a revisar

  • /etc/cassandra/default.conf/cassandra.yaml — parâmetros de cluster, listen_address, rpc_address, seeds, data_file_directories.
  • JVM options — memória heap e GC em /etc/cassandra/jvm.options ou similar.
  • Usuário e permissões para diretórios de dados (/var/lib/cassandra) e logs (/var/log/cassandra).

Important: altere listen_address e seeds antes de adicionar nós adicionais ao cluster.

Checklist rápido antes de colocar em produção

  • Incrementar RAM e CPU conforme carga prevista.
  • Configurar discos dedicados e IOPS adequados para /var/lib/cassandra.
  • Definir políticas de backup e snapshots regulares.
  • Ajustar parâmetros de réplica e factor de replicação (replication factor).
  • Configurar monitoramento (nodetool, métricas JMX, Prometheus/Grafana).
  • Testar failover e substituição de nós sem perda de serviço.

Troubleshooting (problemas comuns e soluções)

  • Serviço não inicia: verifique logs em /var/log/cassandra e journalctl -u cassandra.
  • Erro de permissão: confirme que o usuário cassandra possui propriedade dos diretórios de dados e PID.
  • Portas ocupadas: verifique 9042 (CQL) e 7000/7001 (internode) com ss/netstat.
  • Memória insuficiente: ajuste heap no arquivo jvm.options ou aumente a RAM.

Segurança e boas práticas

  • Não deixe gpgcheck=0 em produção; importe e habilite chaves GPG confiáveis.
  • Restrinja acesso de rede às portas do Cassandra com firewall (somente nós e aplicações autorizadas).
  • Habilite autenticação e autorização no cassandra.yaml se o cluster for acessível publicamente.
  • Considere criptografia em trânsito (internode_encryption) e em repouso conforme necessidades de conformidade.

Nota: a política exata de segurança depende do ambiente e dos requisitos de conformidade (GDPR, LGPD, etc.).

Papel e responsabilidades (checklist por função)

  • Administrador de banco: ajustar replication_factor, compaction, backups.
  • Engenheiro de infraestrutura: configurar discos, rede, firewall e monitoramento.
  • DevOps: automatizar deploy e upgrades (playbooks Ansible/Terraform).
  • Desenvolvedor: modelar dados para Cassandra (desnormalização e consultas por primary key).

Mini-metodologia para adicionar nós ao cluster

  1. Preparar nó: instalar Java, pacotes e configurar arquivo cassandra.yaml com listen_address e seeds apontando para nós existentes.
  2. Sincronizar horário (NTP).
  3. Iniciar Cassandra e verificar com nodetool status.
  4. Monitorar o rebalanceamento e a propriedade de tokens até que o nó esteja UN.

Resumo

Você instalou o Apache Cassandra no CentOS 8: atualizou o sistema, instalou Java e Python2, adicionou o repositório DataStax, instalou dsc20, criou uma unidade systemd, verificou o serviço com nodetool e renomeou o cluster via cqlsh. Em produção, revise segurança, monitoramento e parâmetros de JVM/IO.

Se tiver dúvidas sobre configuração de cluster multinó, ajustes de heap ou políticas de replicação, pergunte indicando a versão exata do Cassandra e o perfil de carga.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE