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

MetaMask Learn: aprenda Web3 grátis
Web3 Educação

MetaMask Learn: aprenda Web3 grátis

Mudar idioma da Cortana no Windows 10
Windows

Mudar idioma da Cortana no Windows 10

Atualizar Ubuntu 12.04 para 14.04 LTS
Linux

Atualizar Ubuntu 12.04 para 14.04 LTS

Corrigir erro 0xc000001d no Windows
Windows

Corrigir erro 0xc000001d no Windows

Limpar Recent Places no macOS
macOS

Limpar Recent Places no macOS

Corrigir erros 0x80070057, 0xa0000400 e Cortana
Windows

Corrigir erros 0x80070057, 0xa0000400 e Cortana