A volte potrebbe essere necessario smantellare un data center. Ad esempio, se stai aggiornando il sistema operativo, devi installare il nuovo sistema operativo in un nuovo data center e quindi dismettere il vecchio data center. Le seguenti sezioni mostrano un esempio di dismissione di un data center in cui sono presenti due data center, dc-1 e dc-2, in un'installazione in cluster a 12 nodi:
- dc-1 è il data center da dismettere.
- dc-2 è un secondo data center, utilizzato nella procedura di dismissione.
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 ritirare un data center.
Considerazioni da fare 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 il dismissione del data center, la capacità del tuo cluster Apigee sarà ridotta. Per rimediare, valuta la possibilità di aumentare la capacità nei data center rimanenti o di aggiungerne altri dopo il ritiro.
- Durante il processo di ritiro, è possibile che si verifichi una perdita di dati di analisi, a seconda dei componenti di analisi installati nel data center dismesso. Puoi trovare maggiori dettagli in Aggiungere o rimuovere nodi Qpid.
- Prima di ritirare un data center, è necessario comprendere come sono configurati tutti i componenti in tutti i data center, in particolare i server OpenLDAP, ZooKeeper, Cassandra e Postgres. Dovresti anche eseguire il backup di tutti i componenti e delle relative configurazioni.
Prima di iniziare
- Server di gestione: tutti i passaggi per la dismissione dipendono fortemente dal server di gestione. Se hai a disposizione un solo server di gestione, 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, disabilita la raggiungibilità dei router bloccando la porta 15999. Assicurati che nessun traffico di runtime venga indirizzato ai router in fase di dismissione.
Cassandra e ZooKeeper: le sezioni seguenti descrivono come ritirare dc-1 in una configurazione a due data center. Se hai più di due data center, assicurati di rimuovere tutti i riferimenti al nodo in fase di dismissione (in questo caso dc-1) da tutti i file di configurazione inattivi in tutti i data center rimanenti. Per i nodi Cassandra che devono essere dismessi, elimina questi host da
CASS_HOSTS
. I restanti nodi Cassandra dovrebbero rimanere nell'ordine originale diCASS_HOSTS
.Postgres: se dismetti il master Postgres, assicurati di promuovere uno dei nodi in standby disponibili come nuovo master Postgres. Mentre il server QPID mantiene un buffer in 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 relativa alla versione corrente di Edge per eseguire il backup. Per maggiori informazioni sul backup, consulta Backup e ripristino.
Nota: se hai più nodi Cassandra o ZooKeeper, eseguine il backup uno alla volta, poiché il processo di backup arresta temporaneamente ZooKeeper.
- Assicurati che Edge sia in esecuzione prima del dismissione, utilizzando il comando:
/opt/apigee/apigee-service/bin/apigee-all status
- Assicurati che al momento nessun traffico di runtime sia in arrivo nel data center che stai per ritirare.
Ordine dei componenti per il ritiro
Se installi Edge per il cloud privato su più nodi, devi ritirare i componenti Edge su questi nodi nel seguente ordine:
- UI Edge (UI Edge)
- Server di gestione (edge-management-server)
- OpenLDAP (apigee-openldap)
- Router (router perimetrale)
- Processore di messaggi (edge-message-processor)
- Qpid Server e Qpidd (edge-qpid-server e apigee-qpidd)
- Postgres e database PostgreSQL (edge-postgres-server e apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
Le sezioni seguenti spiegano come ritirare ogni componente.
UI perimetrale
Per interrompere e disinstallare il componente dell'interfaccia utente Edge di dc-1, inserisci questi comandi:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
Server di gestione
Per ritirare il server di gestione su dc-1, segui questi passaggi:
- Arresta il server di gestione su dc-1:
apigee-service edge-management-server stop
- 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®ion=dc-1&type=management-server”
- Annulla la registrazione del tipo di server:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Elimina il server. Nota: se sul 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}
- Disinstalla il componente del server di gestione su dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
LDAP aperto
Questa sezione spiega come scommettere OpenLDAP su dc-1.
Nota: se disponi di più di due data center, consulta la sezione Configurazioni con più di due data center di seguito.
Per ritirare OpenLDAP su dc-1, segui questi passaggi:
- Esegui il backup del nodo OpenLDAP dc-1 seguendo i passaggi descritti in Come eseguire il backup.
Interrompi la replica dei dati tra i due data center dc-1 e dc-2 eseguendo i passaggi riportati di seguito in entrambi i data center.
- Controlla lo stato attuale:
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
- Crea un file
break_repl.ldif
contenente i seguenti comandi:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
- Esegui il comando
ldapmodify
: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}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- Controlla lo stato attuale:
Per verificare che dc-2 non sia più replicato su dc-1, crea una voce in LDAP dc-2 e assicurandoti che non venga visualizzato nel LDAP di dc-1.
Facoltativamente, puoi seguire i passaggi riportati di seguito per creare un utente di sola lettura nel nodo dc-2 OpenLDAP e verificare se l'utente viene replicato o meno. L'utente viene successivamente eliminato.
- 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}
- Aggiungi un utente con il comando "ldapadd" in dc-2:
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 a questo:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Cerca l'utente in dc-1 per assicurarti che l'utente non sia replicato. Se l'utente non è presente in dc-1, avrai la certezza che entrambi gli LDAP non stiano più replicando:
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
- Rimuovi l'utente di sola lettura aggiunto in precedenza:
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"
- Crea un file
- Interrompi OpenLDAP in dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Disinstalla il componente OpenLDAP su dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Router
Questa sezione spiega come ritirare le autorizzazioni di un router. Per ulteriori dettagli sulla rimozione del router, consulta Rimuovere un server.
I seguenti passaggi consentono di ritirare il router da dc-1. Se in dc-1 sono configurati più nodi router, esegui i passaggi in tutti i nodi del router, uno alla volta
Nota: qui si presume che la porta 15999 per il controllo di integrità del router sia configurata nel bilanciatore del carico e che il blocco della porta 15999 renderà il router non raggiungibile. Potrebbe essere necessario l'accesso root per bloccare la porta.
Per ritirare un router, svolgi i seguenti passaggi:
Disattiva la raggiungibilità dei router bloccando la porta 15999, ovvero la porta per il 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
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
- Ottieni l'UUID del router, come descritto in Ottenere gli UUID.
- Arresta il router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Elenca i pod 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.
- 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"
- Annulla la registrazione del server:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Disinstalla
edge-router
:/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
Vedi Rimuovere un server. - Elimina le regole
iptables
per abilitare la porta bloccata 15999: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 Rimozione di un server.
Poiché supponiamo che dc-1 abbia un'installazione in cluster a 12 nodi, in dc-1 sono configurati due nodi del processore di messaggi. Esegui i comandi seguenti in entrambi i nodi.
- Recupera gli UUID dei processori di messaggi, come descritto in Ottenere gli UUID.
- Arresta il processore di messaggi:
apigee-service edge-message-processor stop
- 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"/pre>
- Disassociate an environment from the Message Processor.
Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.
curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:'
' \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID" - Annulla la registrazione del tipo di server:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Disinstalla il processore di messaggi:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- Annulla la registrazione del server:
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID
Qpid Server e Qpidd
Questa sezione spiega come ritirare Qpid Server (edge-qpid-server
) e Qpidd
(apigee-qpidd
).
Esistono due nodi Qpid configurati in dc-1, perciò devi eseguire i seguenti passaggi per entrambi
i nodi:
- Ottieni l'UUID per Qpidd, come descritto in Ottenere gli UUID.
- Interrompi
edge-qpid-server
eapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Visualizza un elenco di Analytics e gruppi di consumatori:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Rimuovi Qpid dal gruppo di consumatori:
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}"
- 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"
- 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®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Rimuovi il server Qpid dall'installazione di Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- 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
- 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 che stai dismettendo potrebbe avere un master Postgres o uno standby Postgres. Nelle sezioni seguenti viene spiegato come ritirare la licenza:
Ritiro del master Postgres
Nota: se dismetti il master Postgres, assicurati di promuovere uno dei nodi in standby disponibili come nuovo master Postgres. Mentre il QPID esegue il buffering dei dati, se il master Postgres non è disponibile per molto tempo, rischi di perdere i dati di analisi.
Per ritirare il master Postgres:
- Esegui il backup del nodo master Postgres dc-1 seguendo le istruzioni riportate nei seguenti link:
- Ottieni gli UUID dei server Postgres, come descritto in Ottenere gli UUID.
- Su dc-1, interrompi
edge-postgres-server
eapigee-postgresql
sull'attuale master:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Nel nodo standby su dc-2, inserisci il seguente comando per impostarlo come 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 in standby, devi aggiungere voci host sul nuovo master e aggiornare l'impostazione di replica per tutti i nodi in standby Postgres disponibili.
Per aggiungere voci host al nuovo master Postgres: segui i passaggi indicati nella sezione appropriata riportata di seguito:
Se è rimasto un solo nodo in standby
Ad esempio, supponiamo che prima della dismissione fossero configurati tre nodi Postgres. Hai dismesso il master esistente e promosso uno dei nodi standby Postgres rimanenti per il master. Per configurare il nodo standby rimanente:
- Nel 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
- 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 in standby
- 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
- 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
- Riavvia
apigee-postgresql
:apigee-service apigee-postgresql restart
- Modifica il file di configurazione
/opt/silent.conf
e aggiorna il campoPG_MASTER
con l'indirizzo IP del nuovo master Postgres. - Rimuovi tutti i vecchi dati Postgres con il seguente comando:
rm -rf /opt/apigee/data/apigee-postgresql/
- Configura la replica sul nodo in standby:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Verifica che il master Postgres sia configurato correttamente inserendo il seguente comando in dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Rimuovi e aggiungi i server Postgresql dal gruppo di analisi e dal gruppo consumer.
- Rimuovi il vecchio server Postgres dal gruppo di analisi seguendo le istruzioni riportate in Rimuovere un server Postgres da un gruppo di analisi.
- Aggiungi un nuovo server Postgres al gruppo di analisi seguendo le istruzioni riportate in Aggiungere un server Postgres esistente a un gruppo di analisi.
- 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"<
- Elimina il vecchio server postgres da dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Il vecchio master Postgres ora può essere dismesso. Disinstalla
edge-postgres-server
eapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
Per aggiornare le impostazioni di replica su un nodo in standby:
Disattivazione di Postgres in standby
Nota: la documentazione per un'installazione in cluster a 12 nodi mostra il nodo postgresql dc-1 come master, ma per praticità, in questa sezione si presume che il nodo postgresql dc-1 sia in standby e che il nodo postgresql dc-2 sia master.
Per ritirare lo standby Postgres, segui questi passaggi:
- Ottieni gli UUID dei server Postgres, seguendo le istruzioni in Recuperare gli UUID.
- Arresta
apigee-postgresql
sul nodo standby attuale in dc-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Rimuovi e aggiungi i server Postgresql dal gruppo di analisi e dal gruppo consumer.
- Rimuovi il vecchio server Postgres dal gruppo di analisi seguendo le istruzioni riportate in Rimuovere un server Postgres da un gruppo di analisi.
- Aggiungi un nuovo server Postgres al gruppo di analisi seguendo le istruzioni riportate in Aggiungere un server Postgres esistente a un gruppo di analisi.
- 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"<
- Elimina il vecchio server postgres da dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Il vecchio master Postgres ora può essere dismesso. Disinstalla
edge-postgres-server
eapigee-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 di due data center.
Se hai più di due data center, assicurati di rimuovere tutti i riferimenti al nodo in fase di dismissione (in questo caso dc-1) da tutti i file di configurazione inattivi in tutti i data center rimanenti. Per i nodi Cassandra che devono essere dismessi, elimina questi host da
CASS_HOSTS
. I restanti nodi Cassandra dovrebbero rimanere nell'ordine originale diCASS_HOSTS
.Nota su ZooKeeper: devi mantenere un quorum di nodi elettori durante la modifica della proprietà
ZK_HOST
nel file di configurazione, per garantire che l'insieme ZooKeeper rimanga funzionale. La tua configurazione deve avere un numero dispari di nodi elettori. Per maggiori informazioni, consulta Attività di manutenzione di Apache ZooKeeper.Per ritirare i server ZooKeeper e Cassandra:
- Esegui il backup dei nodi Cassandra e ZooKeeper dc-1 seguendo le istruzioni riportate nei seguenti link:
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
- 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®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Annulla la registrazione del server:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Aggiorna il file di configurazione con gli IP dei nodi dismessi rimossi da
ZK_HOSTS
eCASS_HOSTS
.Esempio: supponi di avere gli IP
$IP1 $IP2 $IP3
in dc-1 e$IP4 $IP5 $IP6
in dc-2 e di voler ritirare dc-1. Devi quindi 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"
- Voci del file di configurazione esistenti:
- 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
- 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 Edge 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 Edge 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
- Se il router Edge e il processore di messaggi sono configurati sullo stesso nodo, inserisci:
- Riconfigura tutti i nodi Qpid, rimuovendo gli IP dei nodi dismessi dal file di risposta:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Riconfigura tutti i nodi Postgres, rimuovendo gli IP dei nodi dismessi dal file di risposta:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- Modifica lo spazio dei tasti
system_auth
. Se hai abilitato l'autenticazione Cassandra su un nodo Cassandra esistente, aggiorna il fattore di replica dello spazio delle chiavisystem_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 degli spazi delle chiavi. - Smantella i nodi Cassandra su dc-1, uno alla volta.
Per ritirare i nodi Cassandra, inserisci il seguente comando:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- 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>'
Oppure il comando di verifica secondario da eseguire sul nodo dismesso:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
Il comando riportato sopra dovrebbe restituire:
Mode: DECOMMISSIONED
- 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
- Arresta
apigee-cassandra
eapigee-zookeeper
in dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- Disinstalla
apigee-cassandra
eapigee-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, procedi nel seguente modo:
- Elimina le associazioni da dc-1.
- Elenca tutti i pod disponibili nell'organizzazione:
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- Per verificare se tutte le associazioni sono state rimosse, ottieni 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 alcun UUID, nei passaggi precedenti sono state rimosse tutte le associazioni. Puoi saltare il passaggio successivo. In caso contrario, esegui il passaggio successivo.
- Rimuovi tutte le associazioni di server per gli UUID ottenuti nel passaggio precedente:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Annulla l'associazione dell'organizzazione al pod:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- Elenca tutti i pod disponibili nell'organizzazione:
- Elimina i pod:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- Elimina la regione.
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
Nota: se salti uno dei passaggi per l'eliminazione dei server, il passaggio precedente restituirà un messaggio di errore che indica che un determinato server nel pod esiste ancora. Eliminali quindi seguendo i passaggi per la risoluzione dei problemi riportati di seguito, personalizzando i tipi nel comando
curl
.A questo punto, hai completato la dismissione di dc-1.
Appendice
Risolvere i problemi
Se, dopo aver eseguito i passaggi precedenti, in alcuni pod sono ancora presenti dei server, segui questi passaggi per annullare la registrazione dei server ed eliminarli. Nota:modifica i tipi e il pod in base alle esigenze.
- Ottieni gli UUID utilizzando il seguente comando:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- 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"
- Elimina i server uno alla volta:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
Convalida
Puoi convalidare il ritiro utilizzando i seguenti comandi.
Server di gestione
Esegui i comandi seguenti dai server di gestione in tutte le regioni.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
Esegui questo comando su tutti i componenti per verificare i requisiti delle porte per tutte le porte di gestione.
curl -v http://MS_IP:8080/v1/servers/self
Controlla il gruppo di Analytics.
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
Nodi Cassandra/ZooKeeper
Su tutti i nodi Cassandra inserisci:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Verrà restituito uno stato
running
onot running
per quel nodo specifico.Su un nodo, inserisci:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
I comandi riportati sopra restituiranno le informazioni relative al data center attivo.
Nei nodi ZooKeeper, inserisci prima:
echo ruok | nc <host> 2181
Questo comando restituirà
imok
.Inserisci quindi:
echo stat | nc <host> 2181 | grep Mode
Il valore di
Mode
restituito dal comando riportato sopra sarà uno dei seguenti:observer
,leader
ofollower
.In un nodo ZooKeeper:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
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.
Sul nodo in standby:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Verifica che la risposta indichi che il nodo è in standby.
Accedi al database PostgreSQL utilizzando il comando
psql -h localhost -d apigee -U postgres
Quando richiesto, inserisci la password utente "postgres" come
'postgres'
. Selezionamax(client_received_start_timestamp)
da Analytics.”$org.$env.fact” limit 1
;Log
Controlla i log dei componenti per assicurarti che non siano presenti errori.
- Nel nuovo master, modifica il file di configurazione per impostare: