Ritiro di un data center

A volte potrebbe essere necessario dismettere un data center. Ad esempio, se stai eseguendo l'upgrade del sistema operativo, devi installare il nuovo sistema operativo in un nuovo data center e poi dismettere il vecchio data center. Le sezioni seguenti presentano un esempio di ritiro di un data center, in cui sono presenti due data center, dc-1 e dc-2, in un'installazione cluster di 12 nodi:

  • dc-1 è il data center da dismettere.
  • dc-2 è un secondo data center, utilizzato nella procedura di ritiro.

Se stai eseguendo l'upgrade del sistema operativo, dc-2 potrebbe essere il data center in cui hai installato la nuova versione del sistema operativo. Tuttavia, l'installazione di un nuovo sistema operativo non è necessaria per il ritiro di un data center.

Considerazioni da tenere presenti prima di ritirare un data center

Quando dismetti un data center, tieni presente quanto segue:

  • Blocca tutto il traffico di runtime e gestione verso il data center in fase di dismissione e reindirizzalo ad altri data center.
  • Dopo aver ritirato il data center, la capacità del cluster Apigee sarà ridotta. Per compensare, valuta la possibilità di aumentare la capacità nei data center rimanenti o di aggiungere data center dopo il ritiro.
  • Durante il processo di dismissione, esiste la possibilità di perdita di dati di analisi, a seconda dei componenti di analisi installati nel data center in fase di dismissione. Puoi trovare maggiori dettagli in Aggiungere o rimuovere nodi Qpid.
  • Prima di dismettere un data center, devi capire come sono configurati tutti i componenti in tutti i data center, in particolare i server SymasLDAP, ZooKeeper, Cassandra e Postgres. Inoltre, devi eseguire i backup di tutti i componenti e delle relative configurazioni.

Prima di iniziare

  • Server di gestione: Tutti i passaggi di dismissione dipendono fortemente dal server di gestione. Se hai un solo server di gestione disponibile, ti consigliamo di installare un nuovo componente del server di gestione in un data center diverso da dc-1 prima di ritirare il server di gestione su dc-1 e di assicurarti che uno dei server di gestione sia sempre disponibile.
  • Router: Prima di ritirare un router, disattiva la raggiungibilità dei router bloccando la porta 15999. Assicurati che non venga indirizzato traffico di runtime ai router di cui è in corso il ritiro.
  • Cassandra e ZooKeeper: Le sezioni seguenti descrivono come dismettere dc-1 in una configurazione con due data center.

    Se hai più di due data center, assicurati di rimuovere tutti i riferimenti al nodo che verrà ritirato (dc-1 in questo caso) da tutti i file di configurazione silenziosa in tutti i data center rimanenti. Per i nodi Cassandra da dismettere, elimina gli host da CASS_HOSTS. I nodi Cassandra rimanenti devono rimanere nell'ordine originale di CASS_HOSTS.

  • PostgreSQL:se dismetti il master PostgreSQL, assicurati di promuovere uno dei nodi di standby disponibili come nuovo master PostgreSQL. Mentre il server QPID mantiene un buffer nella coda, se il master Postgres non è disponibile per un periodo di tempo più lungo, rischi di perdere i dati di analisi.

Prerequisiti

  • Prima di ritirare qualsiasi componente, ti consigliamo di eseguire un backup completo di tutti i nodi. Utilizza la procedura per la tua versione attuale di Edge per eseguire il backup. Per ulteriori informazioni sul backup, consulta Backup e ripristino.

  • Prima di ritirare Edge, assicurati che sia in esecuzione utilizzando il comando:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Assicurati che al momento non arrivi traffico di runtime al data center che stai dismettendo.

Ordine di ritiro dei componenti

Se installi Edge for Private Cloud su più nodi, devi dismettere i componenti Edge su questi nodi nel seguente ordine:

  1. Nuova UI di Edge (edge-management-ui e edge-management-ui-static)
  2. Server di gestione (edge-management-server)
  3. Symas LDAP (apigee-openldap)
  4. Router (edge-router)
  5. Processore di messaggi (edge-message-processor)
  6. Qpid Server e Qpidd (edge-qpid-server e apigee-qpidd)
  7. Database Postgres e PostgreSQL (edge-postgres-server e apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

Le sezioni seguenti spiegano come dismettere ogni componente.

Nuova UI di Edge

Per arrestare e disinstallare i componenti della nuova UI Edge di dc-1, inserisci i seguenti comandi:

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui uninstall
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui-static uninstall

Server di gestione

Per dismettere il server di gestione su dc-1, eseguire i seguenti passaggi:

  1. Arresta il server di gestione su dc-1:
    apigee-service edge-management-server stop
  2. Trova l'UUID del server di gestione registrato in dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Tipo di server di annullamento della registrazione:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Elimina il server. Nota: se su questo server sono installati anche altri componenti, annulla la registrazione di tutti prima di eliminare l'UUID.
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Disinstalla il componente Management Server su dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Symas LDAP

Questa sezione spiega come dismettere SymasLDAP su dc-1.

Nota:se hai più di due data center, consulta la sezione Configurazioni con più di due data center di seguito.

Per dismettere SymasLDAP su dc-1, segui questi passaggi:

  1. Esegui il backup del nodo dc-1 SymasLDAP seguendo i passaggi descritti in Come eseguire il backup.
  2. Interrompi la replica dei dati tra i due data center, dc-1 e dc-2, eseguendo i seguenti passaggi in entrambi i data center.

    1. Controlla lo stato attuale:
            /opt/symas/bin/ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      L'output dovrebbe essere simile al seguente:

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
    2. Crea un file break_repl.ldif contenente i seguenti comandi:
      dn: olcDatabase={2}mdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}mdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Esegui il comando ldapmodify:
            /opt/symas/bin/ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      L'output dovrebbe essere simile al seguente:

      modifying entry "olcDatabase={2}mdb,cn=config"
      modifying entry "olcDatabase={2}mdb,cn=config"
  3. Puoi verificare che dc-2 non esegua più la replica in dc-1 creando una voce in LDAP di dc-2 e assicurandoti che non venga visualizzata in LDAP di dc-1.

    Facoltativamente, puoi seguire i passaggi riportati di seguito, che creano un utente con autorizzazione di sola lettura nel nodo SymasLDAP dc-2 e poi controllano se l'utente viene replicato o meno. L'utente viene successivamente eliminato.

    1. Crea un file readonly-user.ldif in dc-2 con i seguenti contenuti:
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. Aggiungi l'utente con il comando "ldapadd" in dc-2:
      /opt/symas/bin/ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      L'output sarà simile al seguente:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
    3. Cerca l'utente in dc-1 per assicurarti che non sia replicato. Se l'utente non è presente in dc-1, avrai la certezza che entrambe le LDAP non vengono più replicate:
      /opt/symas/bin/ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      L'output dovrebbe essere simile al seguente:

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Rimuovi l'utente con autorizzazione di sola lettura aggiunto in precedenza:
      /opt/symas/bin/ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. Arresta SymasLDAP in dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Disinstalla il componente SymasLDAP su dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Router

Questa sezione spiega come dismettere un router. Per maggiori dettagli sulla rimozione del router, consulta Rimuovi un server.

I passaggi seguenti dismettono il router da dc-1. Se in dc-1 sono configurati più nodi router, esegui i passaggi in tutti i nodi router uno alla volta

Nota: qui si presuppone che la porta 15999 del controllo di integrità del router sia configurata nel bilanciatore del carico e che il blocco della porta 15999 renda il router non raggiungibile. Potresti aver bisogno dell'accesso root per bloccare la porta.

Per dismettere un router, procedi come segue:

  1. Disabilita la raggiungibilità dei router bloccando la porta 15999, la porta del controllo di integrità. Assicurati che il traffico di runtime sia bloccato in questo data center:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Verifica che il router sia raggiungibile:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    L'output dovrebbe essere simile al seguente:

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
  3. Ottieni l'UUID del router, come descritto in Ottieni UUID.
  4. Arresta il router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Elenca i pod del gateway disponibili nell'organizzazione utilizzando il seguente comando:
    curl -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Consulta la sezione Informazioni sui pod.

  6. Annulla la registrazione del tipo di server:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  7. Annulla la registrazione del server:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Disinstalla edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Consulta Rimuovi un server.
  9. Svuota le regole iptables per abilitare la porta 15999 bloccata:
    iptables -F

processore di messaggi

Questa sezione descrive come dismettere il processore di messaggi da dc-1. Per maggiori dettagli sulla rimozione del processore di messaggi, consulta la sezione Rimuovere un server.

Poiché supponiamo che dc-1 abbia un'installazione in cluster di 12 nodi, in dc-1 sono configurati due nodi processore di messaggi. Esegui i seguenti comandi in entrambi i nodi.

  1. Ottieni gli UUID dei processori di messaggi, come descritto in Ottieni UUID.
  2. Interrompi il processore di messaggi:
    apigee-service edge-message-processor stop
  3. Annulla la registrazione del tipo di server:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  4. Dissocia un ambiente dal processore di messaggi.
    curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Annulla la registrazione del tipo di server:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. Disinstalla il processore di messaggi:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Annulla la registrazione del server:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Server Qpid e Qpidd

Questa sezione spiega come dismettere Qpid Server (edge-qpid-server) e Qpidd (apigee-qpidd). In dc-1 sono configurati due nodi Qpid, quindi devi eseguire i seguenti passaggi per entrambi i nodi:

  1. Ottieni l'UUID di Qpidd, come descritto in Ottenere gli UUID.
  2. Interrompi edge-qpid-server e apigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Ottieni un elenco di gruppi di Analytics e consumer:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Rimuovi Qpid dal gruppo di consumer:
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Rimuovi Qpid dal gruppo di analisi:
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Annulla la registrazione del server Qpid dall'installazione di Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Rimuovi il server Qpid dall'installazione di Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Riavvia tutti i componenti edge-qpid-server su tutti i nodi per assicurarti che la modifica venga rilevata da questi componenti:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Disinstalla edge-qpid-server e apigee-qpidd:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres e Postgresql

Il data center di cui stai eseguendo il decommissionamento potrebbe avere un master Postgres o uno standby Postgres. Le sezioni seguenti spiegano come dismetterli:

Disattivazione del master Postgres

Nota: se dismetti il master Postgres, assicurati di promuovere uno dei nodi in standby disponibili come nuovo master Postgres. Sebbene le code QPID memorizzino i dati nel buffer, se il master Postgres non è disponibile per un lungo periodo di tempo, rischi di perdere i dati di analisi.

Per dismettere il master Postgres:

  1. Esegui il backup del nodo master Postgres dc-1 seguendo le istruzioni riportate nei seguenti link:
  2. Ottieni gli UUID dei server Postgres, come descritto in Ottieni UUID.
  3. Su dc-1, interrompi edge-postgres-server e apigee-postgresql sul master attuale:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. Sul nodo di standby su dc-2, inserisci questo comando per renderlo il nodo master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Nota:se hai più di un nodo Postgres di standby, devi aggiungere voci host sul nuovo master e aggiornare l'impostazione di replica per tutti i nodi Postgres di standby disponibili.

    Per aggiungere voci host al nuovo master Postgres, segui i passaggi nella sezione appropriata di seguito:

    Se rimane un solo nodo di standby

    Ad esempio, supponiamo che prima del ritiro fossero configurati tre nodi Postgres. Hai ritirato il master esistente e promosso uno dei nodi di standby Postgres rimanenti a master. Configura il nodo di standby rimanente con i seguenti passaggi:

    1. Sul nuovo master, modifica il file di configurazione per impostare:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. Abilita la replica sul nuovo master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    Se è rimasto più di un nodo di standby

    1. Aggiungi la seguente configurazione in /opt/apigee/customer/application/postgresql.properties:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Assicurati che il file /opt/apigee/customer/application/postgresql.properties sia di proprietà dell'utente apigee:
      chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Riavvia apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. Per aggiornare le impostazioni di replica su un nodo in standby:

      1. Modifica il file di configurazione /opt/silent.conf e aggiorna il campo PG_MASTER con l'indirizzo IP del nuovo master Postgres.
      2. Rimuovi i vecchi dati Postgres con il seguente comando:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Configura la replica sul nodo in standby:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Verifica che Postgres master sia configurato correttamente inserendo il seguente comando in dc-2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Rimuovi e aggiungi i server PostgreSQL dal gruppo di analisi e dal gruppo di consumer.
      1. Rimuovi il vecchio server Postgres dal gruppo di analisi seguendo le istruzioni riportate in Rimuovi un server Postgres da un gruppo di analisi.
      2. Aggiungi un nuovo server Postgres al gruppo di analisi seguendo le istruzioni riportate in Aggiungere un server Postgres esistente a un gruppo di analisi.
    7. Annulla la registrazione del vecchio server Postgres da dc-1:
      curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
            
    8. Elimina il vecchio server Postgres da dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. Ora è possibile dismettere il vecchio master Postgres. Disinstalla edge-postgres-server e apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Dismissione dello standby Postgres

    Nota:la documentazione per un'installazione in cluster di 12 nodi mostra il nodo postgresql dc-1 come master, ma per comodità, in questa sezione si presuppone che il nodo postgresql dc-1 sia in standby e il nodo postgresql dc-2 sia master.

    Per dismettere lo standby di Postgres, segui questi passaggi:

    1. Recupera gli UUID dei server Postgres seguendo le istruzioni riportate in Recupera gli UUID.
    2. Arresta apigee-postgresql sul nodo in standby corrente in dc-1:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Rimuovi e aggiungi server PostgreSQL dal gruppo Analytics e dal gruppo di consumer.
      1. Rimuovi il vecchio server Postgres dal gruppo di analisi seguendo le istruzioni riportate in Rimuovi un server Postgres da un gruppo di analisi.
      2. Aggiungi un nuovo server Postgres al gruppo di analisi seguendo le istruzioni riportate in Aggiungi un server Postgres esistente a un gruppo di analisi.
    4. Annulla la registrazione del vecchio server Postgres da dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"
    5. Elimina il vecchio server Postgres da dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. Ora è possibile dismettere il vecchio master Postgres. Disinstalla edge-postgres-server e apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ZooKeeper e Cassandra

    Questa sezione spiega come dismettere i server ZooKeeper e Cassandra in una configurazione con due data center.

    Se hai più di due data center, assicurati di rimuovere tutti i riferimenti al nodo che verrà ritirato (dc-1 in questo caso) da tutti i file di configurazione silenziosa in tutti i data center rimanenti. Per i nodi Cassandra da ritirare, elimina gli host da CASS_HOSTS. I nodi Cassandra rimanenti devono rimanere nell'ordine originale di CASS_HOSTS.

    Nota su ZooKeeper: devi mantenere un quorum di nodi votanti durante la modifica della proprietà ZK_HOST nel file di configurazione, per assicurarti che l'ensemble ZooKeeper rimanga funzionale. La configurazione deve avere un numero dispari di nodi votanti. Per saperne di più, consulta Attività di manutenzione di Apache ZooKeeper.

    Per dismettere i server ZooKeeper e Cassandra:

    1. Esegui il backup dei nodi dc-1 Cassandra e ZooKeeper seguendo le istruzioni riportate nei seguenti link:
    2. Elenca gli UUID dei server ZooKeeper e Cassandra nel data center in cui i nodi Cassandra stanno per essere dismessi.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Annulla la registrazione del tipo di server:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Annulla la registrazione del server:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Aggiorna il file di configurazione con gli IP dei nodi dismessi rimossi da ZK_HOSTS e CASS_HOSTS.

      Esempio: supponiamo che tu abbia gli IP $IP1 $IP2 $IP3 in dc-1 e $IP4 $IP5 $IP6 in dc-2 e che tu stia ritirando dc-1. Poi devi rimuovere gli IP $IP1 $IP2 $IP3 dai file di configurazione.

      • Voci del file di configurazione esistenti:
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • Nuove voci del file di configurazione:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Aggiorna il file di configurazione invisibile all'utente (modificato nel passaggio e) con gli IP dei nodi dismessi rimossi ed esegui il profilo del server di gestione su tutti i nodi che ospitano i server di gestione:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Aggiorna il file di configurazione con gli IP dei nodi dismessi rimossi ed esegui il profilo MP/RMP su tutti i nodi Router e processore di messaggi:
      • Se il router perimetrale e il processore di messaggi sono configurati sullo stesso nodo, inserisci:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Se il router perimetrale e il processore di messaggi sono configurati su nodi separati, inserisci quanto segue:

        Per il router:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Per il processore di messaggi:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Riconfigura tutti i nodi Qpid, con gli IP dei nodi dismessi rimossi dal file di risposta:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Riconfigura tutti i nodi Postgres, con gli IP dei nodi dismessi rimossi dal file di risposta:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Modifica lo spazio delle chiavi system_auth. Se l'autenticazione Cassandra è abilitata su un nodo Cassandra esistente, aggiorna il fattore di replica del keyspace system_auth eseguendo questo comando:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Questo comando imposta il fattore di replica su '3', indicando tre nodi Cassandra nel cluster. Modifica questo valore in base alle esigenze.

      Dopo aver completato questo passaggio, la topologia Cassandra non dovrebbe avere dc-1 in nessuno dei keyspace.

    11. Dismettere i nodi Cassandra su dc-1, uno alla volta.

      Per dismettere i nodi Cassandra, inserisci questo comando:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
    12. Controlla la connessione dei nodi Cassandra da dc-1 utilizzando uno dei seguenti comandi:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      o il comando di verifica secondaria da eseguire sul nodo ritirato:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      Il comando precedente dovrebbe restituire:

      Mode: DECOMMISSIONED
    13. Esegui il profilo DS per tutti i nodi Cassandra e ZooKeeper in dc-2:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. Arresta apigee-cassandra e apigee-zookeeper in dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Disinstalla apigee-cassandra e apigee-zookeeper in dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Elimina le associazioni da dc-1

    Per eliminare le associazioni da dc-1, segui questi passaggi:

    1. Elimina le associazioni da dc-1.
      1. Elenca tutti i pod disponibili nell'organizzazione:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. Per verificare se tutte le associazioni sono state rimosse, recupera gli UUID dei server associati ai pod:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        Se questo comando non restituisce UUID, i passaggi precedenti hanno rimosso tutte le associazioni e puoi saltare il passaggio successivo. In caso contrario, esegui il passaggio successivo.

      3. Rimuovi tutte le associazioni dei server per gli UUID ottenuti nel passaggio precedente:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Dissocia l'organizzazione dal pod:
        curl -v -u  <AdminEmailID>:'<AdminPassword>'  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Elimina i pod:
      curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Elimina la regione.
      curl -v -u <AdminEmailID>:'<AdminPassword>'  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    A questo punto, hai completato il ritiro di dc-1.

    Appendice

    Risoluzione dei problemi

    Se dopo aver eseguito i passaggi precedenti sono ancora presenti server in alcuni pod, segui questi passaggi per annullare la registrazione ed eliminare i server. Nota: modifica i tipi e il pod in base alle tue esigenze.

    1. Recupera gli UUID utilizzando il seguente comando:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Annulla la registrazione del tipo di server:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. Elimina i server uno alla volta:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Convalida

    Puoi convalidare la dismissione utilizzando i seguenti comandi.

    Server di gestione

    1. Esegui i seguenti comandi dai server di gestione in tutte le regioni.
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1
    2. Esegui il seguente comando su tutti i componenti per controllare i requisiti delle porte per tutte le porte di gestione.
      curl -v http://MS_IP:8080/v1/servers/self
    3. Controlla il gruppo di analisi.
      curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/o/ORG/e/ENV/provisioning/axstatus
      curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
    4. Nodi Cassandra/ZooKeeper

      1. Su tutti i nodi Cassandra, inserisci:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

        Verrà restituito lo stato running o not running per quel nodo specifico.

      2. Su un nodo, inserisci:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

        I comandi precedenti restituiranno informazioni sul data center attivo.

      3. Sui nodi ZooKeeper, inserisci prima:
        echo ruok | nc <host> 2181
        

        Questo comando restituisce imok.

        Poi, inserisci:

        echo stat | nc <host> 2181 | grep Mode
        

        Il valore di Mode restituito dal comando precedente sarà uno dei seguenti: observer, leader o follower.

      4. In un nodo ZooKeeper, esegui:
        /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
      5. Sul nodo master Postgres, esegui:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

        Verifica che la risposta indichi che il nodo è il master.

      6. Sul nodo di standby, esegui:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        Assicurati che la risposta confermi che il nodo è in standby.

      7. Accedi al database PostgreSQL utilizzando il seguente comando:
        psql -h localhost -d apigee -U postgres

        Quando richiesto, inserisci la password per l'utente postgres (impostazione predefinita: postgres).

        Quindi esegui la seguente query per verificare il valore massimo di client_received_start_timestamp:

        SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;

      Log

      Controlla i log dei componenti per assicurarti che non siano presenti errori.