Delen via


Quickstart: Een hybride cluster configureren met Azure Managed Instance voor Apache Cassandra met behulp van Client Configurator

Azure Client Configurator is een hulpprogramma dat is ontworpen om u te helpen bij het configureren van een hybride cluster en het migratieproces naar Azure Managed Instance voor Apache Cassandra te vereenvoudigen. Als u momenteel on-premises datacenters hebt of in een zelf-hostende omgeving werkt, kunt u Azure Managed Instance voor Apache Cassandra gebruiken om naadloos andere datacenters in uw cluster op te nemen en deze effectief te onderhouden.

Belangrijk

Het hulpprogramma Client Configurator bevindt zich in openbare preview. Deze functie wordt geleverd zonder service level agreement. Dit wordt niet aanbevolen voor productieworkloads.

Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Vereisten

  • Voor dit artikel is Azure CLI versie 2.30.0 of hoger vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

  • Gebruik een virtueel Azure-netwerk met connectiviteit met uw zelf-hostende of on-premises omgeving. Zie Een on-premises netwerk verbinden met Azure voor meer informatie over het verbinden van on-premises omgevingen met Azure.

  • Er is een Python-installatie vereist. Als u wilt controleren of Python is geïnstalleerd, voert u python --version in uw terminal uit.

  • Zorg ervoor dat zowel het Azure Managed Instance voor Apache Cassandra-cluster als het on-premises Cassandra-cluster zich in hetzelfde virtuele netwerk bevinden. Zo niet, dan moet u netwerkpeering of een ander connectiviteitsmiddel tot stand brengen. Gebruik bijvoorbeeld Azure ExpressRoute.

  • De clusternaam voor zowel het beheerde cluster als het lokale cluster moet hetzelfde zijn.

    Controleer in het cassandra.yaml bestand of de opslagpoort is ingesteld op 7001 en dat de clusternaam hetzelfde is als het beheerde cluster:

    cluster_name: managed_cluster-name
    storage_port: 7001
    
    UPDATE system.local SET cluster_name = 'managed_cluster-name' where key='local';
    

Installatie

  1. Download en ga naar de map client configurator.

  2. Stel een virtuele omgeving in om het Python-script uit te voeren:

    python3 -m venv env
    source env/bin/activate
    python3 -m pip install -r requirements.txt
    
  3. Meld u aan bij de Azure CLI az login.

  4. Voer het Python-script uit in de map 'client' met informatie uit het bestaande cluster (on-premises).

    python3 client_configurator.py --subscription-id <subcriptionId> --cluster-resource-group <clusterResourceGroup> --cluster-name <clusterName> --initial-password <initialPassword> --vnet-resource-group <vnetResourceGroup> --vnet-name <vnetName> --subnet-name <subnetName> --location <location> --seed-nodes <seed1 seed2 seed3> --mi-dc-name <managedInstanceDataCenterName> --dc-name <onPremDataCenterName> --sku <sku>
    
    Kenmerk Beschrijving
    subscription-ID Azure-abonnements-id
    cluster-resource-group Resourcegroep waarin uw cluster zich bevindt
    cluster-name Azure Managed Instance voor Apache Cassandra-clusternaam
    initial-password Wachtwoord voor uw Azure Managed Instance voor Apache Cassandra-cluster
    vnet-resource-group Resourcegroep gekoppeld aan het virtuele netwerk
    vnet-name Naam van het virtuele netwerk dat is gekoppeld aan uw cluster
    subnet-name Naam van het IP-adres dat is toegewezen aan het Cassandra-cluster
    location Waar uw cluster wordt geïmplementeerd
    seed-nodes Seed-knooppunten van de bestaande datacenters in uw on-premises of zelf-hostende Cassandra-cluster
    mi-dc-name Datacenternaam van uw Azure Managed Instance voor Apache Cassandra-cluster
    dc-name Naam van het datacenter van het on-premises cluster
    sku Grootte van de productlaag voor virtuele machines
  5. Het Python-script produceert een tar-archief met de naam install_certs.tar.gz. Pak deze map uit in /etc/cassandra/ op elke node.

    sudo tar -xzvf install_certs.tar.gz -C /etc/cassandra
    
  6. Voer in de /etc/cassandra/ map de opdracht uit sudo ./install_certs.sh.

    • Zorg ervoor dat het script uitvoerbaar is door uit te voeren sudo chmod +x install_certs.sh.

    • Met het script wordt Cassandra geïnstalleerd en naar de nieuwe certificaten verwezen die nodig zijn om verbinding te maken met het Azure Managed Instance voor Apache Cassandra-cluster.

    • Vervolgens wordt de gebruiker gevraagd cassandra opnieuw te starten.

      Schermopname van het resultaat van het uitvoeren van het script.

  7. U kunt nodetool status controleren nadat Cassandra op alle knooppunten opnieuw is opgestart. Beide datacenters moeten worden weergegeven in de lijst, met hun knooppunten in de UN (Up/Normal) status.

  8. Vanuit uw exemplaar van Azure Managed Instance voor Apache Cassandra kunt u vervolgens de AllKeyspaces replicatie-instellingen in uw keyspace-schema wijzigen en het migratieproces starten naar het Azure Managed Instance voor Cassandra-cluster.

  9. Schakel de autoReplicate instelling in met behulp van een Azure Resource Manager-sjabloon (ARM-sjabloon). De ARM-sjabloon moet het volgende bevatten:

    "properties":{
    ...
    "externalDataCenters": ["dc-name-1","dc-name-2"],
    "autoReplicate": "AllKeyspaces",
    ...
    }
    

    De definities van al uw keyspaces worden aangepast zodat ze WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 } bevatten. Als deze topologie niet naar wens is, past u deze aan en voert u deze handmatig uit nodetool rebuild op het Azure Managed Instance voor Apache Cassandra-cluster.

    Meer informatie over autoreplicatie.

  10. Werk de voortgang van de gegevensreplicatie bij en controleer deze door het deelvenster Data Center te selecteren.

    Schermopname van de voortgang van de replicatie.

Volgende stap