A volte potrebbe essere necessario ritirare 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 eseguire la disattivazione del vecchio data center. Le sezioni seguenti presentano un esempio di disattivazione di un data center, in cui sono presenti due data center, dc-1 e dc-2, in un'installazione in cluster di 12 nodi:
- dc-1 è il data center da ritirare.
- dc-2 è un secondo data center utilizzato nella procedura di disattivazione.
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, non è necessario installare un nuovo sistema operativo per eseguire il ritiro di un data center.
Considerazioni prima della disattivazione di un data center
Tieni presenti le seguenti considerazioni quando esegui la disattivazione di un data center:
- Blocca tutto il traffico di runtime e di gestione verso il data center in fase di ritiro e reindirizzalo ad altri data center.
- Dopo la disattivazione del data center, la capacità del cluster Apigee sarà ridotta. Per compensare, valuta la possibilità di aumentare la capacità nei data center rimanenti o di aggiungerne altri dopo il ritiro.
- Durante la procedura di disattivazione, è possibile che si verifichi una perdita di dati di analisi, a seconda dei componenti di analisi installati nel data center in fase di disattivazione. Puoi trovare maggiori dettagli in Aggiungere o rimuovere i nodi Qpid.
- Prima di eseguire il ritiro di un data center, devi capire 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 di ritiro sono altamente dipendenti dal server di gestione. Se hai a disposizione un solo Management Server, ti consigliamo di installare un nuovo componente Management Server in un data center diverso da dc-1 prima di ritirare il Management Server su dc-1 e assicurarti che uno dei Management Server sia sempre disponibile.
- Router: prima di eseguire la disattivazione di un router, disattiva la raggiungibilità dei router bloccando la porta 15999. Assicurati che nessun traffico di runtime venga indirizzato ai router in fase di ritiro.
- Cassandra e ZooKeeper:
le sezioni seguenti descrivono come eseguire il ritiro di dc-1 in una configurazione di due data center.
Se hai più di due data center, assicurati di rimuovere tutti i riferimenti al nodo da ritirare (in questo caso dc-1) da tutti i file di configurazione silenziosi di tutti i data center rimanenti. Per i nodi Cassandra che devono essere dismessi, rimuovi gli host da
CASS_HOSTS
. I restanti nodi Cassandra devono rimanere nell'ordine originale diCASS_HOSTS
. - Postgres: se ritiri il master Postgres, assicurati di promuovere uno dei nodi standby disponibili come nuovo master Postgres. Sebbene il server QPID mantenga un buffer nella fila, se il master Postgres non è disponibile per un periodo di tempo più lungo, rischi di perdere i dati di analisi.
Prerequisiti
Prima di eseguire la disattivazione di un componente, ti consigliamo di eseguire un backup completo di tutti i nodi. Utilizza la procedura per la versione corrente di Edge per eseguire il backup. Per ulteriori informazioni sul backup, consulta Backup e ripristino.
- Prima di eseguire il ritiro, assicurati che Edge sia attivo ed esegui il comando:
/opt/apigee/apigee-service/bin/apigee-all status
- Assicurati che al momento non arrivi traffico di runtime nel data center che stai ritirando.
Ordine di disattivazione dei componenti
Se installi Edge per il cloud privato su più nodi, devi ritirare i componenti di Edge su questi nodi nell'ordine seguente:
- Interfaccia utente Edge (edge-ui)
- Server di gestione (edge-management-server)
- OpenLDAP (apigee-openldap)
- Router (router di bordo)
- 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 eseguire il ritiro di ogni componente.
Interfaccia utente Edge
Per interrompere e disinstallare il componente dell'interfaccia utente di Edge di dc-1, inserisci i seguenti 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 eseguire il ritiro del server di gestione su dc-1:
- 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”
- Tipo di server di cui annullare la registrazione:
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 su questo server sono installati anche altri componenti,
annullane prima la registrazione 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
Open LDAP
Questa sezione spiega come eseguire il ritiro di OpenLDAP su dc-1.
Nota:se hai più di due data center, consulta la sezione Configurazioni con più di due data center di seguito.
Per eseguire il ritiro di OpenLDAP su dc-1:
- 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, esegui i seguenti passaggi 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:
Puoi verificare che dc-2 non esegue più la replica in dc-1 creando una voce nell'LDAP di dc-2 e assicurandoti che non venga visualizzata nell'LDAP di dc-1.
Se vuoi, puoi seguire i passaggi riportati di seguito, che consentono di creare un utente di sola lettura nel nodo OpenLDAP dc-2 e di verificare se l'utente è stato 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 l'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 al seguente:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Cerca l'utente in dc-1 per assicurarti che non sia replicato. Se l'utente
non è presente in dc-1, avrai la certezza che entrambi gli LDAP non si stanno 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 che hai 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 eseguire il ritiro di un router. Per ulteriori dettagli sulla rimozione del router, consulta Rimuovere un server.
I passaggi che seguono eseguono il ritiro del 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 presume che la porta di controllo dell'integrità 15999 del router sia configurata nel bilanciatore del carico e che il blocco della porta 15999 renda il router irraggiungibile. Potresti aver bisogno dell'accesso come utente root per bloccare la porta.
Per eseguire il ritiro di un router:
Disattiva 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
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.
- Interrompi il router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Elenca i pod gateway disponibili nell'organizzazione con il seguente comando:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
Consulta la sezione Informazioni sui pod.
- Annullare la registrazione del tipo di server:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Annullare la registrazione del server:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Disinstalla
edge-router
: Consulta la sezione Rimuovere un server./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- Svuotare le regole
iptables
per attivare la porta bloccata 15999:iptables -F
processore di messaggi
Questa sezione descrive come eseguire il ritiro del Message Processor da dc-1. Per ulteriori dettagli sulla rimozione del Message Processor, consulta Rimuovere un server.
Poiché supponiamo che dc-1 abbia un'installazione in cluster di 12 nodi, in dc-1 sono configurati due nodi del processore di messaggi. Esegui i seguenti comandi su entrambi i nodi.
- Ottieni gli UUID dei processori dei messaggi, come descritto in Ottenere gli UUID.
- Interrompi il processore di messaggi:
apigee-service edge-message-processor stop
- Annullare 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"
- Scollega 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"
- Annullare 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
- Annullare 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 eseguire il ritiro di 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:
- 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 gruppi di consumer e di Analytics:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- 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}"
- 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"
- Annullare 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 un Postgres standby. Le sezioni seguenti spiegano come eseguire il ritiro:
Ritiro del master Postgres
Nota: se ritiri il master Postgres, assicurati di promuovere uno dei nodi standby disponibili come nuovo master Postgres. Sebbene le code QPID mettano in buffer i dati, se il master Postgres non è disponibile per molto tempo, rischi di perdere i dati di analisi.
Per eseguire il ritiro del 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, arresta
edge-postgres-server
eapigee-postgresql
sull'istanza principale attuale:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Sul nodo di standby su dc-2, inserisci il seguente comando per impostarlo come nodo principale:
/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 indicati nella sezione appropriata di seguito:
Se rimane un solo nodo di riserva
Ad esempio, supponiamo che prima del ritiro fossero configurati tre nodi Postgres. Hai ritirato il master esistente e hai promosso a master uno dei nodi postgres standby rimanenti. Configura il nodo di standby rimanente con i seguenti passaggi:
- 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
- Attiva la replica sul nuovo master:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Se rimane più di un nodo di riserva
- 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 i vecchi dati Postgres con il seguente comando:
rm -rf /opt/apigee/data/apigee-postgresql/
- Configura la replica sul nodo di 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 di 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.
- Annullare 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
- Ora puoi eseguire la disattivazione del vecchio master Postgres. 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 di standby:
Ritiro del servizio Postgres standby
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 presume che il nodo postgresql dc-1 sia in standby e il nodo postgresql dc-2 sia master.
Per eseguire il ritiro del cluster Postgres standby:
- Ottieni gli UUID dei server Postgres seguendo le istruzioni riportate in Ottenere gli UUID.
- Interrompi
apigee-postgresql
sul nodo di 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 di 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.
- Annullare 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
- Ora puoi eseguire la disattivazione del vecchio master Postgres. 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 eseguire il ritiro dei 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 da ritirare (in questo caso dc-1) da tutti i file di configurazione silenziosi di tutti i data center rimanenti. Per i nodi Cassandra da ritirare, rimuovi gli host da
CASS_HOSTS
. I restanti nodi Cassandra devono rimanere nell'ordine originale diCASS_HOSTS
.Nota su ZooKeeper: devi mantenere un quorum di nodi di voto durante la modifica della proprietà
ZK_HOST
nel file di configurazione per assicurarti che l'ensemble ZooKeeper rimanga funzionale. Devi avere un numero dispari di nodi di voto nella configurazione. Per ulteriori informazioni, consulta Attività di manutenzione di Apache ZooKeeper.Per eseguire il ritiro dei 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
- Annullare 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"
- Annullare 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 ritirati rimossi da
ZK_HOSTS
eCASS_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 dismettendo 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"
- Voci del file di configurazione esistenti:
- Aggiorna il file di configurazione silenzioso (modificato nel passaggio e) con gli IP dei nodi ritirati 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 ritirati rimossi ed esegui il profilo MP/RMP su tutti i nodi Router e Message Processor:
- Se Edge Router e il Message Processor sono configurati sullo stesso nodo, inserisci:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
Se il router di bordo 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 Edge Router e il Message Processor sono configurati sullo stesso nodo, inserisci:
- Riconfigura tutti i nodi Qpid, con gli IP dei nodi ritirati rimossi dal file di risposta:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Riconfigura tutti i nodi Postgres, con gli IP dei nodi ritirati rimossi dal file di risposta:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- Modifica lo spazio chiavi
system_auth
. Se hai abilitato l'autenticazione Cassandra su un nodo Cassandra esistente, aggiorna il fattore di replica dello spazio chiavisystem_auth
eseguendo il seguente 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 tue esigenze.Dopo aver completato questo passaggio, la topologia Cassandra non deve avere
dc-1
in nessuno degli spazi chiavi. - Esegui la disattivazione dei nodi Cassandra su dc-1, uno alla volta.
Per eseguire il ritiro dei 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>'
In alternativa, il comando di verifica secondario da eseguire sul nodo di cui è stata eseguita la dismissione:
/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
- Fermate
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:
- 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, recupera i
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, vai al passaggio successivo.
- Rimuovi tutte le associazioni del server per gli UUID ottenuti nel passaggio precedente:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Scollega l'organizzazione dal 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
A questo punto hai completato il ritiro del dc-1.
Appendice
Risoluzione dei problemi
Se dopo aver eseguito i passaggi precedenti sono ancora presenti server in alcuni pod, segui i passaggi riportati di seguito per annullare la registrazione ed eliminare i server. Nota:modifica i tipi e il pod in base alle esigenze.
- Recupera gli UUID utilizzando il seguente comando:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- Tipo di server di cui annullare la registrazione:
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 seguenti comandi 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 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
- 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
-
Su tutti i nodi Cassandra, inserisci:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Verrà restituito uno stato
running
onot running
per quel determinato nodo. -
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 le informazioni sui data center attivi.
-
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
ofollower
. -
In un nodo ZooKeeper, esegui:
/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, esegui:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Assicurati che la risposta confermi che il nodo è in standby.
-
Accedi al database PostgreSQL utilizzando il seguente comando:
psql -h localhost -d apigee -U postgres
Quando richiesto, inserisci la password per l'utente
postgres
(valore predefinito:postgres
).Poi esegui la seguente query per controllare il valore massimo di
client_received_start_timestamp
:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Nodi Cassandra/ZooKeeper
Log
Controlla i log dei componenti per assicurarti che non siano presenti errori.
- Sul nuovo master, modifica il file di configurazione per impostare: