Instalar o Apache Cassandra no CentOS 7
O que é o Cassandra
Apache Cassandra é um sistema de banco de dados NoSQL distribuído e open source. Armazena grandes volumes de dados em clusters descentralizados com alta disponibilidade e sem ponto único de falha. Definição rápida: Cassandra é um banco orientado a colunas, tolerante a falhas e escalável horizontalmente.
Variantes de busca (intenção primária e relacionadas)
- instalar apache cassandra centos 7
- instalar cassandra centos
- cassandra 3.11 centos 7
- como instalar cassandra no linux
- configurar cassandra e cqlsh
Pré-requisitos e checklist antes de começar
- Acesso root ou sudo no servidor CentOS 7
- Conexão de rede estável e repositórios atualizados
- 4 GB+ de RAM recomendado para nós de produção
- Verificar SELinux e firewall (ajustar conforme necessário)
- Espaço em disco suficiente e relógio do sistema sincronizado
Importante: Em ambientes de produção, teste em um nó isolado antes de aplicar em cluster.
Passo 1 - Instalar o Java
Atualize os pacotes e repositórios primeiro.
yum -y update
No tutorial original usamos o Oracle JDK 8u131. Para baixar e instalar o RPM do Oracle JDK, execute:
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
Se não tiver wget instalado, instale-o com:
yum -y install wget
Instale o RPM do Oracle JDK:
yum -y localinstall jdk-8u131-linux-x64.rpm
Verifique a versão do Java:
java -version
Saída esperada:
[root@liptan-pc ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Confirme a variável de ambiente JAVA_HOME:
echo $JAVA_HOME
Se estiver vazia, adicione ao perfil do usuário. Editaremos o .bash_profile com nano:
nano ~/.bash_profile
Adicione no final do arquivo:
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Atualize o ambiente:
source ~/.bash_profile
Verifique novamente:
[root@liptan-pc ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_131/
Nota sobre alternativas: Para muitos casos, o OpenJDK é uma alternativa adequada e mais simples de instalar via repositório:
yum -y install java-1.8.0-openjdk-devel
Use OpenJDK especialmente em produção quando licenciamento do Oracle JDK for uma preocupação.
Passo 2 - Instalar o Cassandra
Adicione o repositório do Apache Cassandra criando um arquivo de repositório:
nano /etc/yum.repos.d/cassandra.repo
Cole o conteúdo abaixo no arquivo:
[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Instale o pacote Cassandra:
yum -y install cassandra
Recarregue os daemons do systemd:
systemctl daemon-reload
Inicie o serviço Cassandra:
systemctl start cassandra
Habilite para iniciar automaticamente no boot:
systemctl enable cassandra
Verifique o status do nó com nodetool:
nodetool status
Exemplo de saída quando o nó está UP:
[root@ip-172-31-7-136 ~]# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
Solução rápida para erro de conexão nodetool
Se o nodetool gerar erro como:
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
Edite o arquivo de ambiente do Cassandra e configure o hostname RMI:
nano /etc/cassandra/default.conf/cassandra-env.sh
Encontre a linha:
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname="
Descomente e defina para o IP localhost ou hostname apropriado:
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
Reinicie o Cassandra:
systemctl restart cassandra
Verifique logs se continuar com problemas:
journalctl -u cassandra -xe
Também verifique portas e firewall:
ss -ltnp | grep 9042
firewall-cmd --permanent --add-port=9042/tcp
firewall-cmd --permanent --add-port=7199/tcp
firewall-cmd --reload
Usando a cqlsh e exemplo básico de CQL
Cassandra inclui a shell cqlsh para executar queries CQL.
cqlsh
Saída esperada:
[root@liptan-pc ~]# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
Exemplo simples para criar um keyspace e uma tabela:
CREATE KEYSPACE IF NOT EXISTS exemplo WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};
USE exemplo;
CREATE TABLE IF NOT EXISTS usuarios (id uuid PRIMARY KEY, nome text, email text);
INSERT INTO usuarios (id, nome, email) VALUES (uuid(), 'Alice', '[email protected]');
SELECT * FROM usuarios;
Critérios de aceitação para instalação bem-sucedida
- Cassandra responde em nodetool status com pelo menos um nó UP
- cqlsh conecta-se ao endereço 127.0.0.1:9042
- Serviço cassandra está ativo no systemctl
Boas práticas e segurança
- Bind de interface: ajuste seeds, listen_address e rpc_address em /etc/cassandra/default.conf/cassandra.yaml
- Autenticação: habilite autenticação interna (authenticator: PasswordAuthenticator) para produção
- Criptografia: habilite SSL/TLS para comunicação entre nós e clientes quando necessário
- Usuários e permissões: crie usuários com permissões mínimas
- Monitore: configure métricas e backups regulares
Exemplo de comandos firewall para portas comuns:
firewall-cmd --permanent --add-port=7000/tcp
firewall-cmd --permanent --add-port=7001/tcp
firewall-cmd --permanent --add-port=7199/tcp
firewall-cmd --permanent --add-port=9042/tcp
firewall-cmd --reload
Diagnóstico e recuperação rápida
- Verifique status do serviço:
systemctl status cassandra
- Logs do Cassandra:
journalctl -u cassandra -b
tail -n 200 /var/log/cassandra/system.log
- Se um nó não responder, isole problemas de rede, sincronize relógio (ntpd/chrony) e verifique configuração de seeds.
Plano de rollback simples
- Pare o serviço Cassandra:
systemctl stop cassandra
- Reverter alterações recentes em cassandra.yaml e cassandra-env.sh
- Restaurar backup de dados se necessário (procedimento depende do método de backup utilizado)
- Reiniciar o serviço e validar nodetool status
Checklist por função
- Administrador de sistema: atualizar SO, configurar firewall, instalar Java, systemd
- DBA/engenheiro de dados: configurar keyspaces, políticas de replicação, backups
- DevOps: automação da instalação, monitoramento e alertas
Quando este procedimento falha
- Se nodetool não conectar após ajustar RMI, verifique SELinux e permissões dos arquivos de configuração
- Se cqlsh não conectar, confirme se native_transport está habilitado em cassandra.yaml e porta 9042 está aberta
Alternativas e migração
- Considere usar pacotes do fornecedor ou imagens Docker oficiais para ambientes conteinerizados
- Para novas implantações, verifique imagens do Cassandra no Docker Hub e orquestração Kubernetes
Conclusão
Apache Cassandra deve estar instalado e funcionando no seu servidor CentOS 7 após seguir estes passos. Para ambientes de produção, aplique as recomendações de segurança, monitoração e teste de failover antes de aceitar tráfego real.
Resumo final
- Instale Java (Oracle JDK ou OpenJDK) e defina JAVA_HOME
- Adicione repositório do Cassandra e instale o pacote
- Inicie e habilite o serviço, verifique com nodetool e cqlsh
- Aplique hardening e monitoração para produção
Materiais semelhantes

Criar perfil público no Snapchat

Alternativas open source essenciais para migrar ao Linux

Instalar CyanogenMod no Lenovo P780

Instalador USB do Snow Leopard — Guia

Yubby: criar canal com vídeos de 30 sites
