Condividi tramite


Avvio rapido: Configurare un cluster ibrido con Azure Managed Instance per Apache Cassandra usando Client Configurator

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

Importante

Lo strumento Client Configurator è disponibile in anteprima pubblica. Questa funzionalità viene fornita senza un contratto di servizio. Non è consigliabile usarlo per carichi di lavoro di produzione.

Per altre informazioni, vedere Condizioni supplementari per l'utilizzo 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.

  • Usa una rete virtuale di Azure con connettività all'ambiente autogestito o locale. Per altre informazioni su come connettere gli ambienti locali ad Azure, vedere Connettere una rete locale ad Azure.

  • È necessaria un'installazione di Python. Per verificare se Python è installato, eseguire python --version nel terminale.

  • Assicurarsi che sia il cluster Istanza gestita di Azure per Apache Cassandra che il cluster Cassandra locale si trovino nella stessa rete virtuale. In caso contrario, è necessario stabilire il peering di rete o un'altra modalità di connettività. Ad esempio, usare Azure ExpressRoute.

  • Il nome del cluster sia per il cluster gestito che per il cluster locale deve essere lo stesso.

    cassandra.yaml Nel file verificare che la porta di archiviazione sia impostata su 7001 e che il nome del cluster corrisponda al cluster gestito:

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

Installazione

  1. Scaricare e accedere alla cartella del configuratore client.

  2. Configurare un ambiente virtuale per eseguire lo script Python:

    python3 -m venv env
    source env/bin/activate
    python3 -m pip install -r requirements.txt
    
  3. Accedi all'Azure CLI az login.

  4. 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>
    
    Parametro Descrizione
    subscription-ID ID sottoscrizione di Azure
    cluster-resource-group Gruppo di risorse in cui risiede il cluster
    cluster-name Istanza gestita di Azure per nome cluster Apache Cassandra
    initial-password Password per il cluster di Azure Managed Instance per 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 Effettuare il seeding dei nodi dei data center esistenti nel cluster Cassandra locale o self-hosted
    mi-dc-name Nome del data center dell'istanza gestita di Azure per il cluster Apache Cassandra
    dc-name Nome del data center del cluster locale
    sku Dimensioni del livello prodotto macchina virtuale
  5. 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
    
  6. All'interno della cartella /etc/cassandra/ eseguire sudo ./install_certs.sh.

    • Verificare che lo script sia eseguibile eseguendo sudo chmod +x install_certs.sh.

    • Lo script installa e indirizza Cassandra ai nuovi certificati necessari per connettersi al cluster Istanza gestita di Azure per Apache Cassandra.

    • Richiede quindi all'utente di riavviare Cassandra.

      Screenshot che mostra il risultato dell'esecuzione dello script.

  7. Una volta completato il riavvio di Cassandra su tutti i nodi, controllare nodetool status. Entrambi i data center devono essere visualizzati nell'elenco, con i relativi nodi nello UN (Up/Normal) stato .

  8. Dall'istanza di 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 Istanza gestita di Azure per Cassandra.

  9. Abilitare l'impostazione usando un modello di Azure Resource Manager .Enable the autoReplicate setting by using an Azure Resource Manager template (ARM template). Il modello ARM deve includere:

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

    Tutte le definizioni di keyspaces cambiano per includere WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }. Se questa topologia non è quella desiderata, modificarla e eseguire manualmente nodetool rebuild sul cluster Azure Managed Instance per Apache Cassandra.

    Altre informazioni sulla replica automatica.

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

    Screenshot che mostra lo stato di avanzamento della replica.

Passo successivo