Guida introduttiva: Configurare un cluster ibrido con Azure Istanza gestita per Apache Cassandra usando Client Configurator

Lo strumento di configurazione client di Azure è uno strumento progettato per facilitare la configurazione di un cluster ibrido e semplificare il processo di migrazione ad Azure Istanza gestita per Apache Cassandra. Se attualmente si dispone di data center locali o si opera in un ambiente self-hosted, è possibile usare Azure Istanza gestita per Apache Cassandra per incorporare facilmente altri data center nel cluster mantenendoli in modo efficace.

Importante

Lo strumento Configurator client è disponibile in anteprima pubblica. Questa funzionalità viene fornita senza un contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Prerequisiti

  • Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.30.0 o successiva. Se si usa Azure Cloud Shell, la versione più recente è già installata.

  • Azure Rete virtuale con connettività all'ambiente self-hosted o locale. Per altre informazioni sulla connessione di ambienti locali ad Azure, vedere l'articolo Connessione una rete locale ad Azure.

  • È necessaria l'installazione di Python. È possibile verificare se Python è installato eseguendo python --version nel terminale.

  • Assicurarsi che sia il cluster Cassandra di Azure Istanza gestita che quello locale si trovino nella stessa rete virtuale. In caso contrario, è necessario stabilire il peering di rete o altri mezzi di connettività , ad esempio expressroute.

  • Il nome del cluster sia per il cluster gestito che per il cluster locale deve essere lo stesso. * Nel file cassandra.yaml verificare che la porta di archiviazione sia impostata su 7001 e che il nome del cluster sia uguale al cluster gestito:

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

Installazione

  • Scaricare e passare alla cartella del configuratore client.
  • Configurare un ambiente virtuale per eseguire lo script Python:
python3 -m venv env
source env/bin/activate
python3 -m pip install -r requirements.txt
  • Accedere all'interfaccia della riga di comando di Azure az login
  • Eseguire lo script Python all'interno della cartella client con le informazioni del cluster esistente (locale):
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>

Nota

  • subscription-id: ID sottoscrizione di Azure.
  • cluster-resource-group: gruppo di risorse che risiede nel cluster.
  • cluster-name: nome del cluster Istanza gestita di Azure.
  • initial-password: password per l'Istanza gestita di Azure per il cluster Apache Cassandra.
  • vnet-resource-group: gruppo di risorse collegato alla rete virtuale.
  • vnet-name: nome della rete virtuale collegata al cluster.
  • subnet-name: nome dell'indirizzo IP allocato al cluster Cassandra.
  • location: posizione in cui viene distribuito il cluster.
  • seed-nodes: nodi di inizializzazione dei data center esistenti nel cluster Cassandra locale o self-hosted.
  • mi-dc-name: nome del data center del cluster di Azure Istanza gestita.
  • dc-name: nome del data center del cluster locale.
  • sku: dimensioni dello SKU della macchina virtuale.
  • Lo script Python genera un archivio tar denominato install_certs.tar.gz. * Decomprimere questa cartella in /etc/cassandra/ in ogni nodo.

    sudo tar -xzvf install_certs.tar.gz -C /etc/cassandra
    
  • All'interno della /etc/cassandra/ cartella eseguire sudo ./install_certs.sh.

    • Verificare che lo script sia eseguibile eseguendo sudo chmod +x install_certs.sh.
    • Lo script installa e punta Cassandra verso i nuovi certificati necessari per connettersi al cluster di azure Istanza gestita.
    • Chiede quindi all'utente di riavviare Cassandra. Screenshot of the result of running the script.
  • Al termine del riavvio di Cassandra in tutti i nodi, controllare nodetool status. Entrambi i data center devono essere visualizzati nell'elenco, con i relativi nodi nello stato ONU (Up/Normal).

  • Dall'Istanza gestita di Azure per Apache Cassandra è quindi possibile selezionare AllKeyspaces per modificare le impostazioni di replica nello schema Keyspace e avviare il processo di migrazione al cluster Cassandra Istanza gestita.

    Screenshot of selecting all key spaces.

Suggerimento

L'impostazione Replica automatica deve essere abilitata tramite un modello di Arm. Il modello arm deve includere:

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

Avviso

In questo modo, tutte le definizioni di keyspaces verranno modificate in modo da includere WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }. Se non si tratta della topologia desiderata, sarà necessario modificarla ed eseguirla nodetool rebuild manualmente nel cluster Cassandra Istanza gestita. Altre informazioni sulla replica automatica

  • Aggiornare e monitorare lo stato di avanzamento della replica dei dati selezionando il Data Center riquadro

    Screenshot showing replication progress.

[!INFO]

Passaggi successivi

In questa guida introduttiva si è appreso come creare un cluster ibrido usando Azure Istanza gestita for Apache Cassandra Client Configurator. È ora possibile iniziare a usare il cluster.