Sdílet prostřednictvím


Migrace dat z Cassandra do účtu Azure Cosmos DB for Apache Cassandra pomocí služby Arcion

PLATÍ PRO: Cassandra

Rozhraní API pro Cassandra ve službě Azure Cosmos DB se stalo skvělou volbou pro podnikové úlohy běžící na Apache Cassandře z mnoha důvodů, například:

  • Bez režijních nákladů na správu a monitorování: Eliminuje režii při správě a monitorování řadu nastavení v souborech OS, JVM a yaml a jejich interakcích.

  • Výrazné úspory nákladů: Náklady můžete ušetřit pomocí služby Azure Cosmos DB, která zahrnuje náklady na virtuální počítač, šířku pásma a všechny příslušné licence. Kromě toho nemusíte spravovat datacentra, servery, úložiště SSD, sítě a náklady na elektřinu.

  • Možnost využívat stávající kód a nástroje: Azure Cosmos DB poskytuje kompatibilitu na úrovni přenosového protokolu se stávajícími sadami SDK a nástroji Cassandra. Tato kompatibilita zajišťuje, že můžete použít stávající základ kódu se službou Azure Cosmos DB pro Apache Cassandra s triviálními změnami.

Existují různé způsoby migrace databázových úloh z jedné platformy do jiné. Arcion je nástroj, který nabízí bezpečný a spolehlivý způsob, jak provádět migraci nulového výpadku z jiných databází do služby Azure Cosmos DB. Tento článek popisuje kroky potřebné k migraci dat z databáze Apache Cassandra do služby Azure Cosmos DB pro Apache Cassandra pomocí arcionu.

Poznámka:

Tato nabídka z Arcion je aktuálně v beta verzi. Pokud potřebujete další informace, obraťte se na ně na podporu arcionu.

Výhody využívající Arcion pro migraci

Řešení migrace Arcion se řídí podrobným přístupem k migraci složitých provozních úloh. Tady jsou některé z klíčových aspektů plánu migrace s nulovými výpadky arcionu:

  • Nabízí automatickou migraci obchodní logiky (tabulek, indexů, zobrazení) z databáze Apache Cassandra do služby Azure Cosmos DB. Schémata nemusíte vytvářet ručně.

  • Arcion nabízí replikaci velkých objemů a paralelních databází. Umožňuje synchronizaci zdrojových i cílových platforem během migrace pomocí techniky označované jako Change-Data-Capture (CDC). Pomocí CDC arcion průběžně načítá datový proud změn ze zdrojové databáze (Apache Cassandra) a použije ho na cílovou databázi (Azure Cosmos DB).

  • Je odolný proti chybám a poskytuje přesně jednou doručení dat i během selhání hardwaru nebo softwaru v systému.

  • Data během přenosu zabezpečuje pomocí metodologií zabezpečení, jako je TLS, šifrování.

Postup migrace dat

Tato část popisuje kroky potřebné k nastavení služby Arcion a migraci dat z databáze Apache Cassandra do služby Azure Cosmos DB.

  1. Z počítače, do kterého plánujete nainstalovat repliknt Arcion, přidejte certifikát zabezpečení. Tento certifikát vyžaduje replikátor Arcion k navázání připojení TLS se zadaným účtem služby Azure Cosmos DB. Certifikát můžete přidat pomocí následujícího postupu:

    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. Instalaci Arcion a binární soubory můžete získat buď vyžádáním ukázky na webu Arcion. Případně můžete týmu poslat e-mail .

    Stažení nástroje Arcion replicant

    Arcion replicant files

  3. V terminálu rozhraní příkazového řádku nastavte konfiguraci zdrojové databáze. Otevřete konfigurační soubor pomocí vi conf/conn/cassandra.yml příkazu a přidejte čárkami oddělený seznam IP adres uzlů Cassandra, čísla portu, uživatelského jména, hesla a dalších požadovaných podrobností. Následuje příklad obsahu v konfiguračním souboru:

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

    Otevření editoru připojení Cassandra

    Konfigurace připojení Cassandra

    Po vyplnění podrobností o konfiguraci soubor uložte a zavřete.

  4. Volitelně můžete nastavit soubor filtru zdrojové databáze. Soubor filtru určuje, která schémata nebo tabulky se mají migrovat. Otevřete konfigurační soubor pomocí vi filter/cassandra_filter.yml příkazu a zadejte následující podrobnosti o konfiguraci:

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

    Po vyplnění podrobností filtru databáze soubor uložte a zavřete.

  5. Dále nastavíte konfiguraci cílové databáze. Před definováním konfigurace vytvořte účet Azure Cosmos DB for Apache Cassandra a pak vytvořte prostor klíčů a tabulku pro uložení migrovaných dat. Vzhledem k tomu, že migrujete z Apache Cassandra do rozhraní API pro Cassandra ve službě Azure Cosmos DB, můžete použít stejný klíč oddílu, který jste použili s Apache cassandra.

  6. Před migrací dat zvyšte propustnost kontejneru na množství potřebné k rychlé migraci vaší aplikace. Propustnost můžete například zvýšit na 1 00000 RU. Škálování propustnosti před zahájením migrace vám pomůže migrovat data za kratší dobu.

    Škálování kontejneru Azure Cosmos DB v celém prostředí

    Po dokončení migrace snižte propustnost. Na základě množství uložených dat a RU požadovaných pro každou operaci můžete odhadnout požadovanou propustnost po migraci dat. Další informace o odhadu požadovaných RU najdete v tématu Zřízení propustnosti pro kontejnery a databáze a odhad RU/s pomocí článků o plánovači kapacity služby Azure Cosmos DB.

  7. Získejte kontaktní bod, port, uživatelské jméno a primární heslo účtu služby Azure Cosmos DB z podokna Připojovací řetězec. Tyto hodnoty použijete v konfiguračním souboru.

  8. V terminálu rozhraní příkazového řádku nastavte konfiguraci cílové databáze. Otevřete konfigurační soubor pomocí vi conf/conn/cosmosdb.yml příkazu a přidejte čárkami oddělený seznam identifikátorů URI hostitele, číslo portu, uživatelské jméno, heslo a další požadované parametry. Následující příklad ukazuje obsah konfiguračního souboru:

    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. Pak migrujte data pomocí arcionu. Repliknt Arcion můžete spustit v režimu úplného nebo snímku :

    • Úplný režim – V tomto režimu replikant po migraci pokračuje v provozu a naslouchá všem změnám ve zdrojovém systému Apache Cassandra. Pokud zjistí nějaké změny, replikují se v cílovém účtu služby Azure Cosmos DB v reálném čase.

    • Režim snímku – V tomto režimu můžete provést migraci schématu a jednorázovou replikaci dat. Tato možnost nepodporuje replikaci v reálném čase.

    Pomocí výše uvedených dvou režimů je možné migraci provést s nulovým výpadkem.

  10. Pokud chcete migrovat data, spusťte z terminálu rozhraní příkazového řádku Arcion repliknt následující příkaz:

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

    V uživatelském rozhraní replikntu se zobrazuje průběh replikace. Po dokončení migrace schématu a operace snímku se průběh zobrazí na 100 %. Po dokončení migrace můžete ověřit data v cílové databázi Azure Cosmos DB.

    Výstup migrace dat Cassandra

  11. Vzhledem k tomu, že jste k migraci použili plný režim, můžete provádět operace, jako je vložení, aktualizace nebo odstranění dat ve zdrojové databázi Apache Cassandra. Později ověřte, že se replikují v reálném čase do cílové databáze Azure Cosmos DB. Po migraci nezapomeňte snížit propustnost nakonfigurovanou pro kontejner Azure Cosmos DB.

  12. Replikovaný bod můžete zastavit a restartovat ho přepínačem --resume . Replikace se obnoví z bodu, který se zastavil, aniž by došlo k ohrožení konzistence dat. Následující příkaz ukazuje, jak použít přepínač životopisu.

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

Další informace o migraci dat do cíle v reálném čase najdete v ukázce replikntu arcionu.

Další kroky