Schnellstart: Konfigurieren eines hybriden Clusters mit Azure Managed Instance für Apache Cassandra mit Client Configurator

Der Azure-Client-Konfigurator ist ein Tool, das Sie bei der Konfiguration eines Hybrid-Clusters unterstützt und den Migrationsprozess zu Azure Managed Instance for Apache Cassandra vereinfacht. Wenn Sie derzeit über lokale Rechenzentren verfügen oder in einer selbst gehosteten Umgebung arbeiten, können Sie Azure Managed Instance for Apache Cassandra nutzen, um andere Rechenzentren nahtlos in Ihren Cluster einzubinden und sie gleichzeitig effektiv zu verwalten.

Wichtig

Das Client Configurator Tool ist in der öffentlichen Vorschau. Dieses Feature wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

  • Für diesen Artikel ist die Azure CLI-Version 2.30.0 oder höher erforderlich. Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version bereits installiert.

  • Azure Virtual Network mit einer Verbindung mit Ihrer selbstgehosteten bzw. lokalen Umgebung. Weitere Informationen zum Herstellen einer Verbindung für lokale Umgebungen mit Azure finden Sie im Artikel Verbinden eines lokalen Netzwerks mit Azure.

  • Eine Python-Installation ist erforderlich. Sie können überprüfen, ob Python installiert ist, indem Sie python --version in Ihrem Terminal ausführen.

  • Stellen Sie sicher, dass sich sowohl die Azure Managed Instance als auch der lokale Cassandra-Cluster im selben virtuellen Netzwerk befinden. Ist dies nicht der Fall, muss ein Netz-Peering oder eine andere Verbindungsmöglichkeit (z. B. eine Expressverbindung) eingerichtet werden.

  • Der Clustername für den verwalteten Cluster und den lokalen Cluster muss derselbe sein. * Stellen Sie in der Datei cassandra.yaml sicher, dass der Speicherport auf 7001 gesetzt ist und der Clustername mit dem des verwalteten Clusters übereinstimmt:

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

Installation

  • Laden Sie den Ordner Clientkonfigurator herunter und navigieren Sie dorthin.
  • Richten Sie eine virtuelle Umgebung für die Ausführung des Python-Skripts ein:
python3 -m venv env
source env/bin/activate
python3 -m pip install -r requirements.txt
  • Anmeldung bei Azure CLI az login
  • Führen Sie das Python-Skript im Client-Ordner mit Informationen aus dem bestehenden (lokalen) Cluster aus:
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>

Hinweis

  • subscription-id: Azure-Abonnement-ID.
  • cluster-resource-group: Die Ressourcengruppe, in der sich Ihr Cluster befindet.
  • cluster-name: Name des Azure Managed Instance-Clusters.
  • initial-password: Passwort für Ihren Azure Managed Instance for Apache Cassandra-Cluster.
  • vnet-resource-group: Die Ressourcengruppe, die dem virtuellen Netzwerk zugeordnet ist.
  • vnet-name: Name des virtuellen Netzwerks, das mit Ihrem Cluster verbunden ist.
  • subnet-name: Der Name der dem Cassandra-Cluster zugewiesenen IP-Adresse.
  • location: Der Ort, an dem Ihr Cluster eingesetzt wird.
  • :: Die Seed-Knoten der bestehenden Rechenzentren in Ihrem lokalen oder selbst gehosteten Cassandra-Cluster.
  • mi-dc-name: Der Name des Rechenzentrums Ihres Azure Managed Instance-Clusters.
  • dc-name: Der Name des Rechenzentrums des On-Premise-Clusters.
  • sku: Die SKU-Größe der virtuellen Maschine.
  • Das Python-Skript erzeugt ein tar-Archiv mit dem Namen install_certs.tar.gz. * Entpacken Sie diesen Ordner in /etc/cassandra/ auf jedem Knoten.

    sudo tar -xzvf install_certs.tar.gz -C /etc/cassandra
    
  • Führen Sie innerhalb des Ordners /etc/cassandra/ sudo ./install_certs.sh aus.

    • Stellen Sie sicher, dass das Skript ausführbar ist, indem Sie sudo chmod +x install_certs.sh ausführen.
    • Das Skript installiert Cassandra und verweist auf die neuen Zertifikate, die für die Verbindung mit dem Azure Managed Instance-Cluster erforderlich sind.
    • Dann wird der Benutzer aufgefordert, Cassandra neu zu starten. Screenshot: Ergebnis der Skriptausführung
  • Sobald der Neustart von Cassandra auf allen Knoten abgeschlossen ist, überprüfen Sie nodetool status. Beide Rechenzentren sollten in der Liste erscheinen, mit ihren Knoten im UN (Up/Normal) Status.

  • Von Ihrer Azure Managed Instance für Apache Cassandra aus können Sie dann AllKeyspaces wählen, um die Replikationseinstellungen in Ihrem Keyspace-Schema zu ändern und den Migrationsprozess zum Cassandra Managed Instance-Cluster zu starten.

    Screenshot: Auswahl aller Keyspaces

Tipp

Die Einstellung für die automatische Replikation sollte über eine ARM-Vorlage aktiviert werden. Die ARM-Vorlage sollte Folgendes enthalten:

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

Warnung

Dadurch werden alle Ihre Keyspaces-Definitionen so geändert, dass sie WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 } enthalten. Wenn dies nicht die gewünschte Topologie ist, müssen Sie sie anpassen und nodetool rebuild manuell auf dem Cassandra Managed Instance-Cluster ausführen. Erfahren Sie mehr über Auto-Replikation

  • Aktualisieren und Überwachen des Datenreplikationsfortschritts durch Auswahl des Data Center-Fensters

    Screenshot: Replikationsfortschritt

[!INFO]

Nächste Schritte

In diesem Schnellstart haben Sie gelernt, wie Sie mit Azure Managed Instance for Apache Cassandra Client Configurator einen Hybrid-Cluster erstellen. Sie können nun mit der Nutzung des Clusters beginnen.