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/cockroachdb

Baixe 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.tgz

Uma 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 --version

Você pode ver abaixo que o CockroachDB v23.1.14 está instalado, que é a versão mais recente do momento.

verificar versão

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

instalar ufw

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 enable

Uma vez que o UFW está habilitado, você verá a saída ‘Firewall is active and enabled on system startup’.

habilitar ufw

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/tcp

Por ú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

configurar ufw

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

gerar ca

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/

copiar certificados

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.key

Uma 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.

gerar certificados de cliente

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

certificado de nó comp1

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

certificado de nó comp2

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/private

Configurando 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.service

Adicione 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.target

Salve 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.service

Insira 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.target

Quando 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-reload

Agora 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

iniciar habilitar serviço 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 cockroachdb

Então, certifique-se de que o serviço CockroachDB esteja em execução em ambos os seus servidores Debian.

status do serviço cockroachdb comp1

status do serviço cockroachdb comp2

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:26257

Alé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 11

A saída ‘ CockroachDB node starting...’ confirma que o cluster está inicializado.

cluster 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 status

Abaixo 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:26257

Uma vez conectado, você verá o prompt do CockroachDB como o seguinte:

shell sql cockroachdb

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.

criar usuário administrador

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.

página de login

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

painel cockroachdb

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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.