Redis
 sql >> Database >  >> NoSQL >> Redis

Come migrare i dati Redis™ utilizzando Redis-Shake

La migrazione dei dati di ScaleGrid for Redis™* da un server a un altro è un requisito comune che sentiamo dai nostri clienti. Due dei motivi principali che sentiamo sono spesso dovuti alla migrazione dell'hardware o alla necessità di dividere i dati tra i server.

In genere, si desidera migrare con tempi di inattività minimi utilizzando gli strumenti Redis standard. In questo post del blog, ti guideremo attraverso il processo utilizzando lo strumento open source Redis-Shake. Sviluppato e mantenuto dal NoSQL Team nel dipartimento Alibaba-Cloud Database, Redis-Shake consente di migrare facilmente i dati Redis tra i cluster Redis. Sebbene questa guida sia più rivolta alle implementazioni di ScaleGrid per Redis™*, questa guida può essere utilizzata anche per altri tipi di implementazioni Redis, con alcune lievi modifiche.

Senza ulteriori indugi, iniziamo con la guida alla migrazione!

Prerequisiti

Avrai bisogno di una macchina Linux o Windows per eseguire la migrazione. (Se necessario, può essere la macchina di origine o di destinazione).

Una cosa importante da verificare prima di continuare è che Redis-Shake non supporta i cluster abilitati SSL al momento. Assicurati che sia il cluster di origine che quello di destinazione non siano abilitati per SSL.

Regola firewall

Assicurati di aver creato una regola firewall per consentire alla tua macchina Linux/Windows di connettersi sia al tuo cluster di origine che a quello di destinazione. Fare riferimento a questo collegamento per ulteriori informazioni su come configurarlo su ScaleGrid.

Scarica Redis-Shake

Scarica e decomprimi Redis-Shake sulla macchina Linux/Windows dopo aver scelto la versione più recente/stabile da questo link. Puoi anche utilizzare i seguenti comandi per scaricare l'ultima versione a partire da oggi (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/

In seguito, ti mostreremo due diversi casi d'uso per Redis-Shake.

  • Migrazione dei dati da uno standalone e master-slave
  • Migrazione dei dati in modalità cluster

Migrazione dei dati:standalone e master-slave

In questa sezione, ti mostreremo come migrare i tuoi dati in queste diverse configurazioni:

  • Da autonomo a autonomo
  • Da Master-Slave a Master-Slave
  • Standalone a Master-Slave (e viceversa)

1. Raccogli informazioni

Annota le seguenti informazioni dalla scheda Panoramica nella pagina dei dettagli del cluster sia dal cluster di origine che da quello di destinazione:

  • Nome host :La stringa di connessione è nel formato [nome host:porta]. Dovrebbe assomigliare a questo:EX-redms-00-redis-master.example.domain.io
    • (Nel caso di un cluster Master-Slave, ci collegheremo al master).
  • Porto :6379
  • Password :puoi trovare la tua password e reimpostarla dalla console in Credenziali

2. Modifica file di configurazione

Apri il tuo file "redis-shake.conf" nella cartella principale e modifica le seguenti variabili:

source.type = standalone
source.address = <source_hostname>:6379
source.password_raw = <source_password>

target.type = standalone
target.address = <target_hostname>:6379
target.password_raw = <target_password>

3. Sincronizza i dati

Esegui il seguente comando per sincronizzare i dati tra il cluster di origine e quello di destinazione:

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

4. Attendi i registri

Aspetta di vedere le seguenti informazioni nei log:

sync rdb done.

Ciò significa che la sincronizzazione completa è stata completata e inizia la sincronizzazione incrementale.

5. Interrompi la sincronizzazione incrementale

Se +writeBytes=0 viene visualizzato per molto tempo, significa che non vengono incrementati nuovi dati. Puoi interrompere la sincronizzazione incrementale premendo Ctrl+C . Dovrebbe assomigliare a questo:

sync: +forwardCommands=0 +filterCommands=0 +writeBytes=0

6. Abbina il numero di chiavi

Ora segui questo link al nostro documento di aiuto che ti aiuta a connetterti a entrambi i cluster usando redis-cli e quindi ad abbinare il numero di chiavi tra i tuoi cluster usando il info keyspace comando su entrambi i cluster.

E il gioco è fatto! Ora hai migrato correttamente i dati da un cluster all'altro utilizzando Redis-Shake. Se disponi di cluster in modalità cluster, dai un'occhiata alla sezione successiva di questa guida per vedere cosa devi fare se stai eseguendo quel tipo di cluster.

Migrazione dei dati – Modalità cluster

In questa sezione, ti mostreremo come migrare i dati da una distribuzione Redis in modalità cluster a un altro cluster.

1. Raccogli informazioni

Annota le seguenti informazioni dalla scheda Panoramica nella pagina dei dettagli del cluster sia dal cluster di origine che da quello di destinazione:

  • Nome host :La stringa di connessione è nel formato [nomehost1:porta], [nomehost2:porta], [nomehost3:porta]. Dovrebbe assomigliare a questo: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
  • Password :puoi trovare la tua password e reimpostarla dalla console in Credenziali

2. Modifica file di configurazione

Apri il tuo file "redis-shake.conf" nella cartella principale e modifica le seguenti variabili:

source.type = cluster
source.address = <source_hostname1>:6379;<source_hostname2>:6379;<source_hostname3>:6379
source.password_raw = <source_password>

target.type = standalone
target.address = <target_hostname1>:6379;<target_hostname2>:6379;<target_hostname3>:6379
target.password_raw = <target_password>

3. Sincronizza i dati

Esegui il seguente comando per sincronizzare i dati tra il cluster di origine e quello di destinazione:

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

4. Attendi i registri

Aspetta di vedere le seguenti informazioni nei log:

sync rdb done.

Ciò significa che la sincronizzazione completa è stata completata e inizia la sincronizzazione incrementale.

5. Interrompi la sincronizzazione incrementale

Se +writeBytes=0 viene visualizzato per molto tempo, significa che non vengono incrementati nuovi dati. Puoi interrompere la sincronizzazione incrementale premendo Ctrl+C . Dovrebbe assomigliare a questo:

sync: +forwardCommands=0 +filterCommands=0 +writeBytes=0

6. Abbina il numero di chiavi

Ora segui questo link al nostro documento di aiuto che ti aiuta a connetterti a entrambi i cluster usando redis-cli e quindi ad abbinare il numero di chiavi tra i tuoi cluster usando il info keyspace comando su entrambi i cluster.

E il gioco è fatto! Ora hai migrato correttamente i dati da un cluster in modalità cluster a un altro utilizzando Redis-Shake. Per ulteriori informazioni su Redis-Shake e le sue funzionalità, visita la loro pagina GitHub per saperne di più e ottenere l'ultima versione.

Ti interessa saperne di più su ScaleGrid?

Per ulteriori informazioni su come ScaleGrid Hosting for Redis™* può aiutarti a gestire i database, consulta la nostra pagina ScaleGrid Service for Redis™. Scopri come l'hosting ScaleGrid per Redis™ ti consente di concentrarti maggiormente sullo sviluppo del tuo prodotto e meno sulla gestione dei database.

*Redis è un marchio di Redis Labs Ltd. Tutti i diritti ivi contenuti sono riservati a Redis Labs Ltd. Qualsiasi utilizzo da parte di ScaleGrid è solo a scopo referenziale e non indica alcuna sponsorizzazione, approvazione o affiliazione tra Redis e ScaleGrid.