Dela via


Migrera data från Cassandra till Azure Cosmos DB för Apache Cassandra-konto med arcion

GÄLLER FÖR: Kassandra

API för Cassandra i Azure Cosmos DB har blivit ett bra val för företagsarbetsbelastningar som körs på Apache Cassandra av många orsaker, till exempel:

  • Inga omkostnader för hantering och övervakning: Det eliminerar kostnaderna för att hantera och övervaka en mängd olika inställningar i OS-, JVM- och yaml-filer och deras interaktioner.

  • Betydande kostnadsbesparingar: Du kan spara kostnader med Azure Cosmos DB, vilket inkluderar kostnaden för virtuella datorer, bandbredd och eventuella tillämpliga licenser. Dessutom behöver du inte hantera datacenter, servrar, SSD-lagring, nätverk och elkostnader.

  • Möjlighet att använda befintlig kod och verktyg: Azure Cosmos DB erbjuder kompatibilitet på trådprotokollsnivå med befintliga SDK:er och verktyg för Cassandra. Den här kompatibiliteten säkerställer att du kan använda din befintliga kodbas med Azure Cosmos DB för Apache Cassandra med triviala ändringar.

Det finns olika sätt att migrera databasarbetsbelastningar från en plattform till en annan. Arcion är ett verktyg som erbjuder ett säkert och tillförlitligt sätt att utföra noll stilleståndstidsmigrering från andra databaser till Azure Cosmos DB. I den här artikeln beskrivs de steg som krävs för att migrera data från Apache Cassandra-databasen till Azure Cosmos DB för Apache Cassandra med arcion.

Kommentar

Det här erbjudandet från Arcion är för närvarande i betaversion. Kontakta dem på Arcion Support om du vill ha mer information

Fördelar med att använda Arcion för migrering

Arcions migreringslösning följer en stegvis metod för att migrera komplexa driftsarbetsbelastningar. Följande är några av de viktigaste aspekterna av Arcions plan för noll stilleståndstid:

  • Den erbjuder automatisk migrering av affärslogik (tabeller, index, vyer) från Apache Cassandra-databasen till Azure Cosmos DB. Du behöver inte skapa scheman manuellt.

  • Arcion erbjuder replikering med hög volym och parallell databas. Det gör att både käll- och målplattformarna kan synkroniseras under migreringen med hjälp av en teknik som kallas Change-Data-Capture (CDC). Med hjälp av CDC hämtar Arcion kontinuerligt en ström av ändringar från källdatabasen (Apache Cassandra) och tillämpar den på måldatabasen (Azure Cosmos DB).

  • Den är feltolerant och ger exakt en gång leverans av data även under ett maskinvaru- eller programvarufel i systemet.

  • Den skyddar data under överföring med hjälp av säkerhetsmetoder som TLS, kryptering.

Steg för att migrera data

I det här avsnittet beskrivs de steg som krävs för att konfigurera Arcion och migrera data från Apache Cassandra-databasen till Azure Cosmos DB.

  1. Från datorn där du planerar att installera Arcion-repliken lägger du till ett säkerhetscertifikat. Det här certifikatet krävs av Arcion-repliken för att upprätta en TLS-anslutning med det angivna Azure Cosmos DB-kontot. Du kan lägga till certifikatet med följande steg:

    wget https://cacert.omniroot.com/bc2025.crt
    mv bc2025.crt bc2025.cer
    keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer
    
  2. Du kan hämta Arcion-installationen och de binära filerna antingen genom att begära en demo på Arcion-webbplatsen. Du kan också skicka ett e-postmeddelande till teamet.

    Nedladdning av arcion-replikeringsverktyg

    Arcion-replikeringsfiler

  3. Konfigurera källdatabaskonfigurationen från CLI-terminalen. Öppna konfigurationsfilen med kommandot vi conf/conn/cassandra.yml och lägg till en kommaavgränsad lista över IP-adresser för Cassandra-noderna, portnummer, användarnamn, lösenord och annan nödvändig information. Följande är ett exempel på innehållet i konfigurationsfilen:

    type: CASSANDRA
    
    host: 172.17.0.2
    port: 9042
    
    username: 'cassandra'
    password: 'cassandra'
    
    max-connections: 30
    
    

    Öppna Cassandra-anslutningsredigeraren

    Cassandra-anslutningskonfiguration

    När du har fyllt i konfigurationsinformationen sparar och stänger du filen.

  4. Du kan också konfigurera källdatabasfilterfilen. Filterfilen anger vilka scheman eller tabeller som ska migreras. Öppna konfigurationsfilen med kommandot vi filter/cassandra_filter.yml och ange följande konfigurationsinformation:

    
    allow:
    -	schema: “io_arcion”
    Types: [TABLE]
    

    När du har fyllt i information om databasfiltret sparar och stänger du filen.

  5. Därefter konfigurerar du måldatabaskonfigurationen. Innan du definierar konfigurationen skapar du ett Azure Cosmos DB för Apache Cassandra-konto och skapar sedan en nyckelrymd och en tabell för att lagra migrerade data. Eftersom du migrerar från Apache Cassandra till API för Cassandra i Azure Cosmos DB kan du använda samma partitionsnyckel som du har använt med Apache cassandra.

  6. Innan du migrerar data ökar du containerns dataflöde till det belopp som krävs för att programmet ska kunna migrera snabbt. Du kan till exempel öka dataflödet till 100000 RU:er. Genom att skala dataflödet innan du påbörjar migreringen kan du migrera dina data på kortare tid.

    Skala Azure Cosmos DB-containern i hela

    Minska dataflödet när migreringen är klar. Baserat på mängden data som lagras och ru:er som krävs för varje åtgärd kan du beräkna det dataflöde som krävs efter datamigreringen. Mer information om hur du beräknar de RU:er som krävs finns i Artikeln Etablera dataflöde för containrar och databaser och Beräkna RU/s med hjälp av azure Cosmos DB-kapacitetsplaneraren .

  7. Hämta kontaktpunkt, port, användarnamn och primärt lösenord för ditt Azure Cosmos DB-konto från fönstret Anslutningssträng. Du använder dessa värden i konfigurationsfilen.

  8. Från CLI-terminalen konfigurerar du måldatabaskonfigurationen. Öppna konfigurationsfilen med kommandot vi conf/conn/cosmosdb.yml och lägg till en kommaavgränsad lista över värd-URI, portnummer, användarnamn, lösenord och andra obligatoriska parametrar. I följande exempel visas innehållet i konfigurationsfilen:

    type: COSMOSDB
    
    host: '<Azure Cosmos DB account’s Contact point>'
    port: 10350
    
    username: 'arciondemo'
    password: '<Your Azure Cosmos DB account’s primary password>'
    
    max-connections: 30
    
  9. Migrera sedan data med Arcion. Du kan köra Arcion-repliken i fullständigt läge eller ögonblicksbildsläge :

    • Fullständigt läge – I det här läget fortsätter repliknten att köras efter migreringen och lyssnar efter eventuella ändringar i apache Cassandra-källsystemet. Om den identifierar några ändringar replikeras de på Azure Cosmos DB-målkontot i realtid.

    • Läget Ögonblicksbild – I det här läget kan du utföra schemamigrering och engångsdatareplikering. Realtidsreplikering stöds inte med det här alternativet.

    Med hjälp av ovanstående två lägen kan migrering utföras utan driftstopp.

  10. Om du vill migrera data från Arcion replicant CLI-terminalen kör du följande kommando:

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing
    

    Replikeringsgränssnittet visar replikeringsstatusen. När schemamigreringen och ögonblicksbilden har slutförts visar förloppet 100 %. När migreringen är klar kan du verifiera data i Azure Cosmos DB-måldatabasen.

    Utdata för Cassandra-datamigrering

  11. Eftersom du har använt fullständigt läge för migrering kan du utföra åtgärder som att infoga, uppdatera eller ta bort data i Apache Cassandra-källdatabasen. Kontrollera senare att de replikeras i realtid i Azure Cosmos DB-måldatabasen. Efter migreringen bör du minska det dataflöde som konfigurerats för din Azure Cosmos DB-container.

  12. Du kan stoppa replikpunkten vilken punkt som helst och starta om den med växeln --resume . Replikeringen återupptas från den punkt där den har stoppats utan att kompromissa med datakonsekvensen. Följande kommando visar hur du använder cv-växeln.

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
    

Mer information om datamigrering till mål, realtidsmigrering finns i Demonstrationen av Arcion-replikering.

Nästa steg