Ripristino in più regioni

Questa pagina descrive come recuperare o ripristinare Cassandra in più regioni.

In un deployment multiregionale, Apigee hybrid viene distribuito in più località geografiche a data center diversi. Se una o più regioni hanno esito negativo, ma rimangono regioni integre, puoi utilizzare una regione integro per recuperarla. regioni di Cassandra non riuscite con i dati più recenti.

In caso di errore catastrofico di tutte le regioni ibride, Cassandra può essere ripristinato. È importante notare che, se nel deployment sono presenti più organizzazioni Apigee, Il processo di ripristino ripristina i dati per tutte le organizzazioni. In una configurazione multi-organizzazione, il ripristino di un'organizzazione specifica non è supportato.

Questo argomento descrive entrambi gli approcci per il salvataggio delle regioni non riuscite:

Recupera regioni non riuscite

Per recuperare una o più regioni non riuscite da una regione integra, segui questi passaggi:

  1. Reindirizza il traffico API dalle regioni interessate alla regione funzionante. Pianifica la capacità in modo da supportare il traffico deviato dalle regioni in cui si sono verificati errori.
  2. Rimuovi la regione interessata. Per ogni regione interessata, segui i passaggi descritti in Rimuovere una regione ibrida. Attendi il completamento del ritiro prima di procedere con lo spostamento al passaggio successivo.

  3. Ripristina la regione interessata. Per il ripristino, crea una nuova regione come descritto in Deployment in più regioni su GKE, GKE On-Prem e AKS.

Ripristino da un backup

Il backup di Cassandra può trovarsi su Cloud Storage o su un server remoto in base alla configurazione. Per ripristinare Cassandra da un backup, svolgi i seguenti passaggi:

  1. Apri il file delle sostituzioni per la regione che vuoi ripristinare.
  2. Imposta cassandra:hostNetwork su false.
  3. Applica il file di override:
    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    
  4. Prima di continuare, verifica che hostNetwork sia impostato su false:
    kubectl -n APIGEE_NAMESPACE get apigeeds -o=jsonpath='{.items[].spec.components.cassandra.hostNetwork}'
  5. Elimina l'istanza ibrida dalla regione che stai ripristinando:
    helm delete DATASTORE_RELEASE_NAME \
      --namespace APIGEE_NAMESPACE
    

    Dove DATASTORE_RELEASE_NAME è il nome della release del datastore ha installato Cassandra nella regione, ad esempio datastore-region1.

  6. Ripristina la regione desiderata da un backup. Per ulteriori informazioni, consulta Ripristinare una regione da un backup.

  7. Rimuovi i riferimenti alle regioni eliminate e aggiungi i riferimenti alle regioni ripristinate nel Metadati KeySpaces.
  8. Ottieni il nome del data center Cassandra utilizzando l'opzione nodetool status.
    kubectl exec -n APIGEE_NAMESPACE -it apigee-cassandra-default-0 -- bash
          nodetool  -u APIGEE_JMX_USER -pw APIGEE_JMX_PASSWORD status |grep -i Datacenter

    dove:

    • APIGEE_JMX_USER è il nome utente dell'utente delle operazioni JMX di Cassandra. Utilizzato per autenticarsi e comunicare con l'interfaccia JMX di Cassandra. Consulta cassandra:auth:jmx:username.
    • APIGEE_JMX_PASSWORD è la password per l'utente delle operazioni JMX di Cassandra. Consulta cassandra:auth:jmx:password.
  9. Aggiorna la replica di KeySpaces.
    1. Crea un contenitore client e connettiti al cluster Cassandra tramite l'interfaccia CQL.
    2. Recupera l'elenco degli spazi chiavi utente dall'interfaccia CQL:
      cqlsh CASSANDRA_SEED_HOST -u APIGEE_DDL_USER -p APIGEE_DDL_PASSWORD
            --ssl -e "select keyspace_name from system_schema.keyspaces;"|grep -v system

      dove:

      • CASSANDRA_SEED_HOST è l'host originale di Cassandra per più regioni. Per la maggior parte su più regioni, usa l'indirizzo IP di un host nella tua prima regione. Consulta: Configura Apigee ibrido per più regioni e cassandra:externalSeedHost
      • APIGEE_DDL_USER e APIGEE_DDL_PASSWORD sono l'amministratore Nome utente e password dell'utente Cassandra Data Definition Language (DDL). La I valori predefiniti sono "ddl_user" e "iloveapis123".

        Vedi cassandra.auth.ddl.password nella sezione di riferimento delle proprietà di configurazione Comando Opzioni di riga nella documentazione cqlsh di Apache Cassandra.

    3. Per ogni spazio delle chiavi, esegui questo comando dall'interfaccia CQL per aggiornare le impostazioni di replica:
      ALTER KEYSPACE KEYSPACE_NAME WITH replication = {'class': 'NetworkTopologyStrategy', 'DATACENTER_NAME':3};

      dove:

      • KEYSPACE_NAME è il nome dello spazio delle chiavi elencato nell'output del passaggio precedente.
      • DATACENTER_NAME è il nome del data center Cassandra ottenuto con l'opzione nodetool status nel passaggio 8.