Ao trabalhar com bancos de dados, é fundamental manter uma cópia atualizada de seus dados, o que permite que você tenha um mecanismo à prova de falhas no caso de corrupção de dados.
Apache Cassandra nos permite fazer backups de nossos dados usando o comando nodetool. Junte -se a nós neste tutorial enquanto exploramos como criar instantâneos no Apache Cassandra.
Nota: Antes de tirar o instantâneo do seu cluster, verifique se você tem um espaço de disco suficiente e nenhuma sessão está ativa.
Cassandra libera todas as gravações na memória no disco e executa um link rígido com os arquivos sstable no cluster.
Comando de instantâneos de NodeTool Cassandra
O trecho seguinte mostra a sintaxe do comando NodeTool Snapshot:
A seguir, mostra os parâmetros suportados pelo comando:
-H - Especifica o nome do host ou o endereço IP do cluster de destino.
-P - define o número da porta para o cluster Cassandra.
-PWF - Especifica o arquivo de senha usado para autenticação de cluster.
-PW - Especifica a senha para um nome de usuário especificado.
-u - define o nome de usuário para fazer login no cluster.
-cf - define os nomes das tabelas que você deseja fazer backup.
-KC - Especifica o espaço de chave.mesas para fazer backup.
-KT - define a lista de Keyspace.mesas para fazer backup.
-SF - impede a operação de descarga SSTABLE.
-t - nome do instantâneo.
Keyspace - Nomes das teclas para fazer backup. Padrões para todas as teclas.
Cassandra Backup todas as teclas
Para criar um instantâneo de todas as teclas em um determinado cluster, podemos executar o seguinte comando:
$ snapshot snapshot -t my_backups
O comando dado inicializa um processo de backup para todas as teclas no cluster.
Cassandra armazena os arquivos instantâneos no diretório de dados. Você pode verificar sua configuração de cluster para determinar o diretório de dados do cluster.
Cassandra Backup Snapshots seletivos
Podemos tirar os instantâneos de várias chaves, especificando -as, como mostrado na sintaxe a seguir:
Por exemplo, suponha que desejemos fazer backup das teclas Linuxhint e System_Auth. Podemos executar o seguinte comando:
$ snapshot snapshot linuxhint System_auth
O comando anterior deve retornar uma saída de amostra, como mostrado no seguinte:
Solicitado a criação de instantâneos (s) para [Linuxhint, System_Auth] com nome de instantâneo [1663410336447] e opções skipflush = false Diretório de instantâneos: 1663410336447
Cassandra Table Snapshot
Você pode tirar um instantâneo de uma determinada tabela, como mostrado na sintaxe a seguir: