Banco de Dados · 8 min read · Oct 12, 2025
Como Instalar o Cluster CockroachDB no Debian 12

CockroachDB é um banco de dados SQL distribuído e escalável de código aberto para aplicações em nuvem. O CockroachDB fornece consistência de nível superior, um banco de dados SQL replicado e um armazenamento de dados transacional.
O CockroachDB armazena seus dados em múltiplos locais, tornando a entrega de dados mais rápida. Além disso, é fácil de escalar e oferece alta disponibilidade e tolerância a falhas para suas aplicações.
Neste guia, mostraremos como instalar o CockroachDB em servidores Debian 12. Em seguida, mostraremos como inicializar o cluster CockroachDB com múltiplos servidores Debian.
Pré-requisitos
Antes de prosseguir, certifique-se de ter o seguinte:
- Dois ou mais servidores Debian 12 que se conectam entre si via rede local.
- Um usuário não-root com privilégios de administrador.
- Um FQDN configurado em cada servidor.
Instalando o CockroachDB
O CockroachDB é um sistema de banco de dados SQL distribuído e escalável. Antes de implantar o cluster CockroachDB, você deve instalar o aplicativo CockroachDB em cada um de seus servidores.
Agora você instalará o CockroachDB em cada um de seus servidores Debian.
Primeiro, crie um novo usuário do sistema cockroach com o diretório home padrão /opt/cockroachdb.
sudo adduser --home /opt/cockroachdb --system --group cockroach
sudo chown -R cockroach:cockroach /opt/cockroachdbBaixe a versão mais recente do CockroachDB usando o comando curl abaixo. Certifique-se de visitar a página de download do CockroachDB para obter o link para a versão mais recente do CockroachDB.
curl https://binaries.cockroachdb.com/cockroach-v23.1.14.linux-amd64.tgz --output cockroach-v23.1.14.linux-amd64.tgzUma vez baixado, extraia o arquivo cockroach-v23.1.14.linux-amd64.tgz e copie o arquivo binário do CockroachDB para o diretório /usr/bin/.
tar -xzf cockroach-v23.1.14.linux-amd64.tgz
cp -i cockroach-v23.1.14.linux-amd64/cockroach /usr/bin/Por último, verifique a versão do CockroachDB usando o comando abaixo.
cockroach --versionVocê pode ver abaixo que o CockroachDB v23.1.14 está instalado, que é a versão mais recente do momento.

Configurando o UFW
Após instalar o CockroachDB, você deve instalar o UFW para proteger seus servidores. Em seguida, abra as portas TCP 8080 e 26257 que serão usadas pelo cluster CockroachDB.
Instale o pacote UFW em seu servidor Debian com o comando abaixo.
sudo apt install ufw -y
Agora adicione o perfil OpenSSH e habilite o UFW executando o comando abaixo. Digite y para iniciar e habilitar o UFW.
sudo ufw allow OpenSSH
sudo ufw enableUma vez que o UFW está habilitado, você verá a saída ‘Firewall is active and enabled on system startup’.

Em seguida, adicione as portas TCP 8080 e 26257 ao UFW com o seguinte comando. Essas portas TCP serão usadas pelo cluster CockroachDB.
sudo ufw allow 8080/tcp
sudo ufw allow 26257/tcpPor último, verifique o status do UFW e a lista de regras habilitadas com o comando abaixo. Você verá o UFW com o status Ativo e o OpenSSH, portas 8080/tcp e 26257/tcp habilitadas.
sudo ufw status
Gerando Certificados
Antes de gerar certificados para o cluster CockroachDB, execute o comando abaixo para criar novos diretórios certs e private dentro de /opt/cockroachdb para armazenar seus certificados.
mkdir -p /opt/cockroachdb/{certs,private}Agora prossiga para gerar esses certificados: Certificado CA, Certificado de Nó e Certificado de Cliente.
Gerando CA
O certificado CA é importante para assinar tanto os certificados de clientes quanto os de nós. Nesta seção, você gerará um certificado CA no servidor comp1 e um certificado CA e chave para o servidor comp2 via scp. Portanto, certifique-se de que você tenha acesso SSH ao servidor comp2.
Execute o seguinte comando para gerar um certificado CA no servidor comp1.
cockroach cert create-ca \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
Uma vez que a CA é gerada, copie tanto ca.key quanto ca.crt para o servidor comp2.
scp /opt/cockroachdb/private/ca.key [email protected]:/opt/cockroachdb/private/
scp /opt/cockroachdb/certs/ca.crt [email protected]:/opt/cockroachdb/certs/
Gerando Cliente
Após gerar a CA, o próximo certificado que você precisa é um certificado de cliente. Este será usado para se conectar ao cluster CockroachDB de forma segura via TLS.
Ainda no servidor comp1, execute o seguinte comando para criar o certificado de cliente para o usuário padrão root.
cockroach cert create-client \
root \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.keyUma vez que o processo é concluído, seu certificado de cliente estará disponível em /opt/cockroachdb/certs/client.root.crt e /opt/cockroachdb/certs/client.root.key.

Gerando Nó
Por último, você precisa gerar certificados de Nó, que também dependem do número de servidores dentro do cluster. Neste exemplo, gerarei um certificado de Nó para os servidores comp1 e comp2.
Execute o comando abaixo no servidor comp1 para gerar um certificado de Nó para comp1. Certifique-se de alterar o endereço IP e fqdn com os detalhes do seu servidor.
cockroach cert create-node \
comp1.hwdomain.lan \
192.168.5.21 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
Mova-se para o servidor comp2 e execute o comando abaixo para gerar um certificado de Nó para comp2. Além disso, altere os detalhes do endereço IP e fqdn do servidor comp2.
cockroach cert create-node \
comp2.hwdomain.lan \
192.168.5.22 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
Configurando Permissão para Certificados
Com todos os certificados gerados, execute o seguinte comando para permitir que o usuário cockroach acesse os arquivos de certificado. Certifique-se de executar isso em ambos os servidores comp1 e comp2.
sudo chown -R cockroach:cockroach /opt/cockroachdb/certs
sudo chown -R cockroach:cockroach /opt/cockroachdb/privateConfigurando o Serviço Systemd
Após gerar certificados para o CockroachDB, o próximo passo é criar o arquivo de serviço do CockroachDB para cada servidor. Em seguida, inicie e habilite o serviço CockroachDB.
Serviço CockroachDB para comp1
No servidor comp1, crie um novo serviço systemd /etc/systemd/system/cockroachdb.service com o comando do editor nano abaixo.
sudo nano /etc/systemd/system/cockroachdb.serviceAdicione essas configurações de serviço. Certifique-se de alterar o parâmetro –advertise-addr com o endereço IP de comp1.
[Unit]
Description=Cockroach Database cluster node
Requires=network.target
[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.21 --join=192.168.5.21,192.168.5.22
TimeoutStopSec=60
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=cockroach
[Install]
WantedBy=default.targetSalve e saia do arquivo quando terminar.
Serviço CockroachDB para comp2
Mova-se para o servidor comp2 e execute o comando do editor nano abaixo para criar um novo arquivo de serviço /etc/systemd/system/cockroachdb.service.
sudo nano /etc/systemd/system/cockroachdb.serviceInsira a configuração abaixo e certifique-se de alterar o parâmetro –advertise-addr com o endereço IP de comp2.
[Unit]
Description=Cockroach Database cluster node
Requires=network.target
[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.22 --join=192.168.5.21,192.168.5.22
TimeoutStopSec=60
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=cockroach
[Install]
WantedBy=default.targetQuando terminar, salve o arquivo e saia do editor.
Iniciando o CockroachDB
Com o arquivo de serviço CockroachDB criado, você pode agora aplicar suas alterações e, em seguida, iniciar e habilitar o serviço CockroachDB.
Execute o seguinte comando para recarregar o gerenciador systemd e aplicar o novo serviço para o CockroachDB.
sudo systemctl daemon-reloadAgora inicie e habilite o serviço CockroachDB em ambos os servidores comp1 e comp2 com o comando abaixo.
sudo systemctl start cockroachdb
sudo systemctl enable cockroachdb
Por último, verifique o serviço CockroachDB com o seguinte comando para garantir que o serviço esteja em execução.
sudo systemctl status cockroachdbEntão, certifique-se de que o serviço CockroachDB esteja em execução em ambos os seus servidores Debian.


Inicializando o Cluster CockroachDB
Agora que o serviço CockroachDB está em execução em cada servidor, você pode continuar a inicializar o cluster CockroachDB a partir do servidor comp1. Em seguida, crie o usuário administrador para o CockroachDB e acesse o painel de administração web do CockroachDB.
No servidor comp1, execute o seguinte comando para inicializar o cluster CockroachDB. Você deve obter uma saída “ Cluster successfully initialized “ quando o processo estiver completo.
cockroach init --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257Além disso, você também pode verificar o processo de inicialização via o arquivo de log do CockroachDB com o comando abaixo.
grep 'node starting' /opt/cockroachdb/cockroach-data/logs/cockroach.log -A 11A saída ‘ CockroachDB node starting...’ confirma que o cluster está inicializado.

Em seguida, verifique seu cluster CockroachDB executando o seguinte comando. A opção ls é usada para obter a lista de servidores dentro do cluster, enquanto o comando status é usado para verificar o status do cluster CockroachDB.
cockroach node --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21 ls
cockroach node --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21 statusAbaixo você pode ver o número de servidores dentro do cluster CockroachDB, incluindo o status de cada servidor.
Agora que o cluster está em execução, execute o seguinte comando para fazer login no servidor CockroachDB. Certifique-se de executar este comando a partir do servidor comp1, pois seu certificado de cliente está disponível na máquina comp1.
cockroach sql --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257Uma vez conectado, você verá o prompt do CockroachDB como o seguinte:

Execute as seguintes consultas para criar um novo usuário bob com a senha p4ssw0rd. Em seguida, conceda privilégios de administrador ao usuário bob.
CREATE USER bob WITH PASSWORD 'p4ssw0rd';
GRANT admin TO bob;Pressione Ctrl+d para sair do servidor CockroachDB.

Por último, abra seu navegador web em sua máquina local e visite o endereço IP do comp1 com a porta 8080 (https://192.168.5.21:8080). Você será solicitado a acessar a página de login do CockroachDB.
Faça login com o usuário bob e a senha p4ssw0rd.

Uma vez logado, você verá o painel de administração do CockroachDB como este:

Conclusão
Para finalizar, você agora completou a instalação do cluster CockroachDB em servidores Debian 12. Você também criou o usuário administrador para o CockroachDB e acessou o painel de administração web do CockroachDB. Agora você pode criar um novo banco de dados e usuário, e utilizar o painel de administração web do CockroachDB para gerenciar a instalação do CockroachDB.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.