Gegevens migreren van Cassandra naar Azure Cosmos DB Cassandra-API account met behulp van
VAN TOEPASSING OP:
Cassandra-API
Cassandra-API in Azure Cosmos DB is om verschillende redenen een uitstekende keuze geworden voor zakelijke workloads die worden uitgevoerd op Apache Cassandra, zoals:
Geen overhead bij het beheren en bewaken: Het elimineert de overhead van het beheren en bewaken van talloze instellingen in os-, JVM- en yaml-bestanden en hun interacties.
Aanzienlijke kostenbesparingen: U kunt kosten besparen met Azure Cosmos DB, waaronder de kosten van de VM's, bandbreedte en eventuele toepasselijke licenties. Bovendien hoeft u de kosten voor datacenters, servers, SSD-opslag, netwerken en elektriciteit niet te beheren.
Mogelijkheid om bestaande code en hulpprogramma's te gebruiken: Azure Cosmos DB biedt compatibiliteit op wire-protocolniveau met bestaande Cassandra SDK's en hulpprogramma's. Door deze compatibiliteit kunt u bestaande codebase gebruiken met de Azure Cosmos DB Cassandra-API, met slechts een klein aantal wijzigingen.
Er zijn verschillende manieren om databaseworkloads van het ene platform naar het andere te migreren. Hadz is een hulpprogramma dat een veilige en betrouwbare manier biedt om geen downtimemigratie uit te voeren van verschillende databases naar Azure Cosmos DB. In dit artikel worden de stappen beschreven die nodig zijn om gegevens te migreren van een Apache Cassandra-database naar Azure Cosmos DB Cassandra-API met behulp vanIngenz.
Voordelen van het gebruik vanZzz voor migratie
De migratieoplossing van Zouz volgt een stapsgewijse benadering voor het migreren van complexe operationele workloads. Hier volgen enkele van de belangrijkste aspecten van het migratieplan voor uitvaltijd vanSpectz:
Het biedt automatische migratie van bedrijfslogica (tabellen, indexen, weergaven) van een Apache Cassandra-database naar Azure Cosmos DB. U hoeft geen schema's handmatig te maken.
Als u grote volumes en parallelle databasereplicatie gebruikt, kunt u ze gebruiken. Hiermee kunnen zowel de bron- als de doelplatformen tijdens de migratie worden gesynchroniseerd met behulp van een techniek met de naam Change-Data-Capture (CDC). Met behulp van CDC haalt Wiltz continu een stroom wijzigingen op uit de brondatabase (Apache Cassandra) en past deze toe op de doeldatabase (Azure Cosmos DB).
Het is fouttolerant en biedt precies één levering van gegevens, zelfs tijdens een hardware- of softwarefout in het systeem.
Het beveiligt de gegevens tijdens de overdracht met behulp van verschillende beveiligingsmethoden, zoals TLS, versleuteling.
Stappen voor het migreren van gegevens
In deze sectie worden de stappen beschreven die nodig zijn om Wiltz in te stellen en worden gegevens gemigreerd van een Apache Cassandra-database naar Azure Cosmos DB.
Voeg een beveiligingscertificaat toe vanaf de computer waarop u de Replicant wilt installeren. Dit certificaat is vereist voor de Replicant Van Token om een TLS-verbinding tot stand te brengen met het opgegeven Azure Cosmos DB account. U kunt het certificaat toevoegen met de volgende stappen:
wget https://cacert.omniroot.com/bc2025.crt mv bc2025.crt bc2025.cer keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cerU kunt de Installatie van Binaryz en de binaire bestanden krijgen door een demo aan te vragen op de website van Binaryz. U kunt ook een e-mailbericht naar het team verzenden.
Stel vanuit de CLI-terminal de configuratie van de brondatabase in. Open het configuratiebestand met behulp van de opdracht en voeg een door komma's gescheiden lijst met IP-adressen van de
vi conf/conn/cassandra.ymlCassandra-knooppunten, poortnummer, gebruikersnaam, wachtwoord en andere vereiste gegevens toe. Hier volgt een voorbeeld van de inhoud in het configuratiebestand:type: CASSANDRA host: 172.17.0.2 port: 9042 username: 'cassandra' password: 'cassandra' max-connections: 30
Nadat u de configuratiegegevens hebt invullen, moet u het bestand opslaan en sluiten.
U kunt eventueel het brondatabasefilterbestand instellen. Het filterbestand geeft aan welke schema's of tabellen moeten worden gemigreerd. Open het configuratiebestand met
vi filter/cassandra_filter.ymlbehulp van de opdracht en voer de volgende configuratiegegevens in:allow: - schema: “io_blitzz” Types: [TABLE]Nadat u de details van het databasefilter hebt invullen, moet u het bestand opslaan en sluiten.
Vervolgens stelt u de configuratie van de doeldatabase in. Voordat u de configuratie definieert, maakt u Azure Cosmos DB Cassandra-API account en maakt u vervolgens een Keyspace en een tabel om de gemigreerde gegevens op te slaan. Omdat u migreert van Apache Cassandra naar Cassandra-API in Azure Cosmos DB, kunt u dezelfde partitiesleutel gebruiken die u hebt gebruikt met Apache Cassandra.
Voordat u de gegevens migreert, verhoogt u de doorvoer van de container tot de hoeveelheid die uw toepassing snel moet migreren. U kunt de doorvoer bijvoorbeeld verhogen naar 100.000 RUs. Door de doorvoer te schalen voordat u de migratie start, kunt u uw gegevens in minder tijd migreren.
Verminder de doorvoer nadat de migratie is voltooid. Op basis van de hoeveelheid gegevens die is opgeslagen en de BENODIGDE HOEVEELHEID die is vereist voor elke bewerking, kunt u een schatting maken van de doorvoer die na de gegevensmigratie is vereist. Zie Doorvoer voor containers en databases inrichten en Ru/s schatten met behulp van de Azure Cosmos DB capacity planner voor meer informatie over het schatten van de vereiste RU's.
Haal het contactpunt, de poort, de gebruikersnaam en het primaire wachtwoord van uw Azure Cosmos-account op uit het deelvenster Verbindingsreeks. U gebruikt deze waarden in het configuratiebestand.
Stel vanuit de CLI-terminal de configuratie van de doeldatabase in. Open het configuratiebestand met behulp van de opdracht en voeg een door komma's gescheiden lijst toe met
vi conf/conn/cosmosdb.ymlhost-URI, poortnummer, gebruikersnaam, wachtwoord en andere vereiste parameters. In het volgende voorbeeld ziet u de inhoud van het configuratiebestand:type: COSMOSDB host: '<Azure Cosmos account’s Contact point>' port: 10350 username: 'blitzzdemo' password: '<Your Azure Cosmos account’s primary password>' max-connections: 30Migreert vervolgens de gegevens met behulp vanIriz. U kunt de Replicazz-replicant uitvoeren in de volledige modus of in de momentopnamemodus:
Volledige modus: in deze modus blijft de replicant na de migratie worden uitgevoerd en wordt er geluisterd naar wijzigingen in het Apache Cassandra-bronsysteem. Als er wijzigingen worden gedetecteerd, worden ze in realtime gerepliceerd in het Azure Cosmos-doelaccount.
Momentopnamemodus: in deze modus kunt u schemamigratie en een een time-time gegevensreplicatie uitvoeren. Realtime-replicatie wordt niet ondersteund met deze optie.
Met behulp van de bovenstaande twee modi kan de migratie zonder downtime worden uitgevoerd.
Voer de volgende opdracht uit vanuit de Replicant CLI-terminal vanPlicaz om gegevens te migreren:
./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existingDe replicant ui toont de voortgang van de replicatie. Zodra de schemamigratie en momentopnamebewerking zijn uitgevoerd, wordt de voortgang 100% weergegeven. Nadat de migratie is voltooid, kunt u de gegevens in de Azure Cosmos-doeldatabase valideren.
Omdat u de volledige modus voor migratie hebt gebruikt, kunt u bewerkingen uitvoeren zoals het invoegen, bijwerken of verwijderen van gegevens in de Apache Cassandra-brondatabase. Valideer later of ze in realtime worden gerepliceerd in de Azure Cosmos-doeldatabase. Zorg ervoor dat u na de migratie de doorvoer verlaagt die is geconfigureerd voor uw Azure Cosmos-container.
U kunt de replicant op elk punt stoppen en opnieuw starten met de schakelknop --resume. De replicatie wordt hervat vanaf het punt dat deze is gestopt zonder dat dit ten koste gaat van de consistentie van gegevens. De volgende opdracht laat zien hoe u de hervatten-switch gebruikt.
./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
Zie voor meer informatie over de gegevensmigratie naar de bestemming, realtime migratie, de Replicant-demo van Replicaz.