Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como migrar dados do Redis™ usando o Redis-Shake

Migrar os dados do ScaleGrid for Redis™* de um servidor para outro é um requisito comum que ouvimos de nossos clientes. Duas das principais razões que ouvimos são frequentemente devido à migração de hardware ou à necessidade de dividir dados entre servidores.

Normalmente, você deseja migrar com o mínimo de tempo de inatividade ao usar as ferramentas padrão do Redis. Nesta postagem do blog, orientaremos você pelo processo usando a ferramenta de código aberto Redis-Shake. Desenvolvido e mantido pela equipe NoSQL no departamento de banco de dados Alibaba-Cloud, o Redis-Shake permite migrar facilmente dados do Redis entre clusters do Redis. Embora este guia seja mais voltado para implantações do ScaleGrid for Redis™*, ele também pode ser usado para outros tipos de implantações do Redis com algumas pequenas modificações.

Sem mais delongas, vamos começar com o guia de migração!

Pré-requisitos

Você precisará de uma máquina Linux ou Windows para realizar a migração. (Se necessário, pode ser a máquina de origem ou de destino).

Uma coisa importante para se certificar antes de continuar é que o Redis-Shake não suporta clusters habilitados para SSL a partir de agora. Certifique-se de que os clusters de origem e de destino não estejam habilitados para SSL.

Regra de firewall

Certifique-se de ter criado uma regra de firewall para permitir que sua máquina Linux/Windows se conecte aos clusters de origem e de destino. Consulte este link para obter mais informações sobre como configurar isso no ScaleGrid.

Baixar Redis-Shake

Faça o download e descompacte o Redis-Shake na máquina Linux/Windows depois de escolher a versão mais recente/estável neste link. Você também pode usar os seguintes comandos abaixo para baixar a versão mais recente a partir de hoje (v2.1.1).

wget https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz
tar -xvzf release-v2.1.1-20210903.tar.gz
cd release-v2.1.1-20210903/

A seguir, mostraremos dois casos de uso diferentes para o Redis-Shake.

  • Migrando dados de um Standalone e Master-Slave
  • Migrando dados no modo de cluster

Migrando dados – autônomo e mestre-escravo

Nesta seção, mostraremos como migrar seus dados nessas diferentes configurações:

  • Independente para autônomo
  • Mestre-escravo para mestre-escravo
  • Independente para Mestre-Escravo (e vice-versa)

1. Coletar informações

Anote as seguintes informações da guia Visão geral na página de detalhes do cluster de seu cluster de origem e de destino:

  • Nome do host :A cadeia de conexão está no formato [hostname:port]. Deve ser algo assim:EX-redms-00-redis-master.example.domain.io
    • (No caso de um cluster mestre-escravo, nos conectaremos ao mestre).
  • Porto :6379
  • Senha :você pode encontrar sua senha e redefini-la no console em Credenciais

2. Editar arquivo de configuração

Abra seu arquivo “redis-shake.conf” na pasta principal e edite as seguintes variáveis:

source.type =independente
source.address =:6379
source.password_raw =


target.type =independente
target.address =:6379
target.password_raw =

3. Sincronizar dados

Execute o seguinte comando para sincronizar dados entre o cluster de origem e de destino:

$ ./redis-shake -type sync -conf redis-shake.conf

4. Aguardar registros

Aguarde até ver as seguintes informações nos logs:

sincronização rdb concluída.

Isso significa que a sincronização completa foi concluída e a sincronização incremental começa.

5. Parar sincronização incremental

Se +writeBytes=0 é visto por um longo tempo, então isso significa que nenhum dado novo é incrementado. Você pode interromper a sincronização incremental pressionando Ctrl+C . Deve se parecer com algo assim:

sincronizar:+forwardCommands=0 +filterCommands=0 +writeBytes=0

6. Corresponder ao número de chaves

Agora siga este link para nosso documento de ajuda, que ajuda você a se conectar a ambos os clusters usando redis-cli e, em seguida, combinar o número de chaves entre seus clusters usando o info keyspace comando em ambos os clusters.

E é isso! Agora você migrou com êxito os dados de um cluster para outro usando o Redis-Shake. Se você tiver clusters no modo de cluster, convém dar uma olhada na próxima seção deste guia para ver o que você precisa fazer se estiver executando esse tipo de cluster.

Migrando Dados – Modo Cluster

Nesta seção, mostraremos como migrar dados de uma implantação do Redis no modo de cluster para outro cluster.

1. Coletar informações

Anote as seguintes informações da guia Visão geral na página de detalhes do cluster de seu cluster de origem e de destino:

  • Nome do host :A cadeia de conexão está no formato [hostname1:port], [hostname2:port], [hostname3:port]. Deve ser algo assim:EX-redms-03-redis-master.example.domain.io, EX-redms-06-redis-master.example.domain.io, EX-redms-09-redis- master.example.domain.io
  • Porto :6379
  • Senha :você pode encontrar sua senha e redefini-la no console em Credenciais

2. Editar arquivo de configuração

Abra seu arquivo “redis-shake.conf” na pasta principal e edite as seguintes variáveis:

source.type =cluster
source.address =:6379;:6379;:6379
source.password_raw =


target.type =independente
target.address =:6379;:6379;:6379
target.password_raw =

3. Sincronizar dados

Execute o seguinte comando para sincronizar dados entre o cluster de origem e de destino:

$ ./redis-shake -type sync -conf redis-shake.conf

4. Aguardar registros

Aguarde até ver as seguintes informações nos logs:

sincronização rdb concluída.

Isso significa que a sincronização completa foi concluída e a sincronização incremental começa.

5. Parar sincronização incremental

Se +writeBytes=0 é visto por um longo tempo, então isso significa que nenhum dado novo é incrementado. Você pode interromper a sincronização incremental pressionando Ctrl+C . Deve se parecer com algo assim:

sincronizar:+forwardCommands=0 +filterCommands=0 +writeBytes=0

6. Corresponder ao número de chaves

Agora siga este link para nosso documento de ajuda, que ajuda você a se conectar a ambos os clusters usando redis-cli e, em seguida, combinar o número de chaves entre seus clusters usando o info keyspace comando em ambos os clusters.

E é isso! Agora você migrou com êxito os dados de um cluster no modo de cluster para outro usando o Redis-Shake. Para obter mais informações sobre o Redis-Shake e seus recursos, visite a página do GitHub para saber mais e obter a versão mais recente.

Interessado em saber mais sobre ScaleGrid?


Para saber mais sobre como o ScaleGrid Hosting for Redis™* pode ajudá-lo a gerenciar seus bancos de dados, confira nossa página ScaleGrid Service for Redis™. Veja como a hospedagem do ScaleGrid para Redis™ pode permitir que você se concentre mais no desenvolvimento de seu produto e menos no gerenciamento de bancos de dados.

*Redis é uma marca registrada da Redis Labs Ltd. Quaisquer direitos sobre ela são reservados à Redis Labs Ltd. Qualquer uso por ScaleGrid é apenas para fins referenciais e não indica qualquer patrocínio, endosso ou afiliação entre Redis e ScaleGrid.