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

Sådan migreres Redis™-data ved hjælp af Redis-Shake

Migrering af ScaleGrid for Redis™*-data fra én server til en anden er et almindeligt krav, som vi hører fra vores kunder. To af hovedårsagerne, vi hører, skyldes ofte migrering af hardware eller behovet for at opdele data mellem servere.

Du vil typisk migrere med minimal nedetid, mens du bruger Redis-standardværktøjerne. I dette blogindlæg vil vi guide dig gennem processen ved hjælp af open source-værktøjet Redis-Shake. Redis-Shake er udviklet og vedligeholdt af NoSQL-teamet i Alibaba-Cloud Database-afdelingen og giver dig mulighed for nemt at migrere Redis-data mellem Redis-klynger. Selvom denne vejledning er mere rettet mod ScaleGrid for Redis™*-implementeringer, kan denne vejledning også bruges til andre typer Redis-implementeringer med nogle små ændringer.

Lad os uden videre komme i gang med migreringsvejledningen!

Forudsætninger

Du skal bruge en Linux- eller Windows-maskine for at udføre migreringen. (Hvis det er nødvendigt, kan dette enten være kilde- eller målmaskinerne).

En vigtig ting at sikre sig, før du fortsætter, er, at Redis-Shake ikke understøtter SSL-aktiverede klynger lige nu. Sørg for, at både kilde- og målklyngerne ikke er SSL-aktiverede.

Firewall-regel

Sørg for, at du har oprettet en firewall-regel for at tillade din Linux/Windows-maskine at oprette forbindelse til både dine kilde- og målklynger. Se dette link for mere information om, hvordan du sætter dette op på ScaleGrid.

Download Redis-Shake

Download og dekomprimer Redis-Shake på Linux/Windows-maskinen efter at have valgt den nyeste/stabile version fra dette link. Du kan også bruge følgende kommandoer nedenfor til at downloade den seneste version fra i dag (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/

Dernæst viser vi dig to forskellige anvendelsesmuligheder for Redis-Shake.

  • Migrering af data fra en Standalone og Master-Slave
  • Migrering af data i klyngetilstand

Migrering af data – Standalone og Master-Slave

I dette afsnit viser vi dig, hvordan du migrerer dine data i disse forskellige opsætninger:

  • Standalone til Standalone
  • Mester-slave til Master-slave
  • Fristående til Master-Slave (og omvendt)

1. Indsamle oplysninger

Notér følgende oplysninger fra fanen Oversigt på siden med klyngedetaljer fra både din kilde- og målklynge:

  • Værtsnavn :Forbindelsesstrengen er i formatet [værtsnavn:port]. Det skulle se nogenlunde sådan ud:EX-redms-00-redis-master.example.domain.io
    • (Hvis der er tale om en Master-Slave-klynge, opretter vi forbindelse til masteren).
  • Port :6379
  • Adgangskode :Du kan finde din adgangskode og nulstille den fra konsollen under legitimationsoplysninger

2. Rediger konfigurationsfil

Åbn din "redis-shake.conf" fil i hovedmappen og rediger følgende variabler:

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

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

3. Synkroniser data

Kør følgende kommando for at synkronisere data mellem kilde- og målklyngen:

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

4. Vent på logfiler

Vent, indtil du ser følgende oplysninger i logfilerne:

synkronisering af rdb udført.

Dette betyder, at den fulde synkronisering er afsluttet, og trinvis synkronisering begynder.

5. Stop trinvis synkronisering

Hvis +writeBytes=0 er set i lang tid, så betyder det, at ingen nye data øges. Du kan stoppe den trinvise synkronisering ved at trykke på Ctrl+C . Det skulle se sådan ud:

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

6. Match antal nøgler

Følg nu dette link til vores hjælpedokument, som hjælper dig med at oprette forbindelse til begge klynger ved hjælp af redis-cli og derefter matche antallet af nøgler mellem dine klynger ved hjælp af info-tasterummet kommando på begge klynger.

Og det er det! Du har nu migreret data fra en klynge til en anden med Redis-Shake. Hvis du har klynger i klyngetilstand, vil du måske tage et kig på vores næste afsnit i denne vejledning for at se, hvad du skal gøre, hvis du kører den type klynge.

Migrering af data – klyngetilstand

I dette afsnit viser vi dig, hvordan du migrerer data fra én Redis-implementering i klyngetilstand til en anden klynge.

1. Indsamle oplysninger

Notér følgende oplysninger fra fanen Oversigt på siden med klyngedetaljer fra både din kilde- og målklynge:

  • Værtsnavn :Forbindelsesstrengen er i formatet [værtsnavn1:port], [værtsnavn2:port], [værtsnavn3:port]. Det skulle se nogenlunde sådan ud:EX-redms-03-redis-master.example.domain.io, EX-redms-06-redis-master.example.domain.io, EX-redms-09-redis- master.example.domain.io
  • Port :6379
  • Adgangskode :Du kan finde din adgangskode og nulstille den fra konsollen under legitimationsoplysninger

2. Rediger konfigurationsfil

Åbn din "redis-shake.conf" fil i hovedmappen og rediger følgende variabler:

source.type =cluster
kilde.adresse =:6379;:6379;:6379
source.password_raw =

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

3. Synkroniser data

Kør følgende kommando for at synkronisere data mellem kilde- og målklyngen:

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

4. Vent på logfiler

Vent, indtil du ser følgende oplysninger i logfilerne:

synkronisering af rdb udført.

Dette betyder, at den fulde synkronisering er afsluttet, og trinvis synkronisering begynder.

5. Stop trinvis synkronisering

Hvis +writeBytes=0 er set i lang tid, så betyder det, at ingen nye data øges. Du kan stoppe den trinvise synkronisering ved at trykke på Ctrl+C . Det skulle se sådan ud:

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

6. Match antal nøgler

Følg nu dette link til vores hjælpedokument, som hjælper dig med at oprette forbindelse til begge klynger ved hjælp af redis-cli og derefter matche antallet af nøgler mellem dine klynger ved hjælp af info-tasterummet kommando på begge klynger.

Og det er det! Du har nu migreret data fra én klynge i klyngetilstand til en anden ved hjælp af Redis-Shake. For mere information om Redis-Shake og dets muligheder, besøg deres GitHub-side for at finde ud af mere og få den seneste version.

Er du interesseret i at lære mere om ScaleGrid?

For at lære mere om, hvordan ScaleGrid Hosting for Redis™* kan hjælpe dig med at administrere dine databaser, så tjek vores ScaleGrid Service for Redis™-side. Se, hvordan ScaleGrid-hosting til Redis™ kan lade dig fokusere mere på at udvikle dit produkt og mindre på at administrere databaser.

*Redis er et varemærke tilhørende Redis Labs Ltd. Alle rettigheder hertil er forbeholdt Redis Labs Ltd. Enhver brug af ScaleGrid er kun til referenceformål og angiver ikke sponsorering, godkendelse eller tilknytning mellem Redis og ScaleGrid.


  1. Filtrer array ved hjælp af $in-operatoren i $projektstadiet

  2. MongoDB $ og Aggregation Pipeline Operator

  3. Opdater enhed i redis med spring-data-redis

  4. MongoDB samlet forespørgsel ved hjælp af PHP-driver