Questo documento descrive come aggiungere un data center (chiamato anche regione) a un data esistente Google Cloud.
Considerazioni da fare prima di aggiungere un data center
Prima di installare l'aggiunta di un data center, devi sapere come configurare OpenLDAP, Server ZooKeeper, Cassandra e Postgres nei data center. Devi inoltre assicurarti che tra i nodi dei due data center siano aperte.
- OpenLDAP
      Ogni data center dispone del proprio server OpenLDAP configurato con la replica abilitata. Quando installare il nuovo data center, devi configurare OpenLDAP per utilizzare la replica e riconfigurare il server OpenLDAP nel data center esistente per utilizzare la replica. 
- ZooKeeper
      Per la proprietà ZK_HOSTSper in entrambi i data center, specifica gli indirizzi IP o i nomi DNS di tutti i nodi di ZooKeeper center, nello stesso ordine, e contrassegna tutti i nodi con il tasto di modifica ":observer". I nodi senza il modificatore:observersono chiamati "votanti". Devi avere uno strano numero di "votanti" nella tua configurazione.In questa topologia, l'host ZooKeeper sull'host 9 è l'osservatore:  Nel file di configurazione di esempio mostrato di seguito, il nodo 9 è contrassegnato con il tag :observerin modo da avere cinque elettori: nodi 1, 2, 3, 7 e 8.Per ZK_CLIENT_HOSTSper ogni data center, specifica gli indirizzi IP o i nomi DNS solo di ZooKeeper nodi nel data center, nello stesso ordine, per tutti i nodi ZooKeeper nei dati Google Cloud.
- Cassandra
      Tutti i data center devono avere lo stesso numero di nodi Cassandra. Per CASS_HOSTSper ogni data center, assicurati di specificare tutti gli indirizzi IP Cassandra (non nomi DNS) per entrambi i dati center. Per il data center 1, elenca per prima cosa i nodi Cassandra nel data center in questione. Per data center 2, elenca prima i nodi Cassandra nel data center. Elenca i nodi Cassandra nello stesso per tutti i nodi Cassandra nel data center.Tutti i nodi Cassandra devono avere un suffisso ":d,r"; Ad esempio, 'ip:1,1 = data center 1 e rack/zona disponibilità 1 e 'ip:2,1 = data center 2 e zona rack/disponibilità 1. Ad esempio, "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1" Il primo nodo nella zona 1 del rack/di disponibilità di ciascun data center verrà utilizzato come seed o server web. In questo modello di deployment, la configurazione di Cassandra sarà simile alla seguente:  
- 
      Postgres
      Per impostazione predefinita, Edge installa tutti i nodi Postgres in modalità master. Tuttavia, se hai a disposizione data center, configuri i nodi Postgres in modo che utilizzino la replica in standby del master un guasto del nodo master, il nodo in standby può continuare a gestire il traffico del server. Di solito, configuri il server Postgres master in un data center e il server di standby nel secondo Google Cloud. Se il data center esistente è già configurato per avere due nodi Postgres in esecuzione master/standby, nell'ambito di questa procedura annulla la registrazione del nodo di standby esistente e sostituirlo con un nodo in standby nel nuovo data center. La tabella seguente mostra la configurazione di Postgres prima e dopo scenari aggiuntivi: Prima Dopo Singolo nodo Postgres master in dc-1 Nodo Postgres master in dc-1 Nodo Postgres in standby in dc-2 Nodo Postgres master in dc-1 Nodo Postgres in standby in dc-1 Nodo Postgres master in dc-1 Nodo Postgres in standby in dc-2 Annulla la registrazione del vecchio nodo Postgres in standby in dc-1 
- Requisiti delle porte
      Devi assicurarti che le porte necessarie siano aperte tra i nodi nei due data center. Per un diagramma delle porte, vedi Requisiti delle porte. 
Aggiornamento del data center esistente
Per aggiungere un data center, devi eseguire i passaggi per installare e configurare i nuovi dati nodi del centro dati, ma richiede anche l'aggiornamento dei nodi nel data center originale. Questi sono necessarie modifiche perché stai aggiungendo nuovi nodi Cassandra e ZooKeeper nella nuova devono essere accessibili al data center esistente e occorre riconfigurare Utilizza OpenLDAP per utilizzare la replica.
crea i file di configurazione
Di seguito sono riportati i file di configurazione silenziosi per i due data center, dove ogni dato ha 6 nodi, come mostrato in Topologie di installazione. Nota che il file di configurazione per dc-1 aggiunge impostazioni aggiuntive per:
- Configura OpenLDAP con replica tra due nodi OpenLDAP.
- Aggiungi i nuovi nodi Cassandra e ZooKeeper da dc-2 al file di configurazione per dc-1.
| # Datacenter 1 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP1 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP7 APIGEE_LDAPPW=secret MP_POD=gateway-1 REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" | # Datacenter 2 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP7 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=2 LDAP_PEER=$IP1 APIGEE_LDAPPW=secret MP_POD=gateway-2 REGION=dc-2 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" | 
Aggiungi un nuovo data center
Utilizza la procedura riportata di seguito per installare un nuovo data center.
Nella procedura, i data center hanno i seguenti nomi:
- dc-1: il data center esistente
- dc-2: il nuovo data center
Per aggiungere un nuovo data center:
- In dc-1, esegui nuovamente setup.sh sui nodi Cassandra originali con il nuovo dc-1
      che include i nodi Cassandra di dc-2:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1 
- In dc-1, esegui nuovamente setup.sh sul nodo del server di gestione:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1 
- Su dc-2, installa apigee-setupsu tutti i nodi. Vedi Installare l'utilità apigee-setup Edge per più informazioni.
- In dc-2, installa Cassandra e ZooKeeper sui nodi appropriati:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2 
- In dc-2, esegui il comando rebuild su tutti i nodi Cassandra, specificando
      nome regione di dc-1:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1 Devi trasmettere il tuo nome utente e la tua password solo se l'autenticazione JMX abilitata per Cassandra. 
- In dc-2, installa il server di gestione sul nodo appropriato:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2 
- Nel nodo del server di gestione in dc-2, installa apigee-provision, che installa l'utilitàapigee-adminapi.sh:/opt/apigee/apigee-service/bin/apigee-service apigee-provision install 
- In dc-2, installa le route e i processori di messaggi sui nodi appropriati:
      /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2 
- In dc-2, installa Qpid sui nodi appropriati:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2 
- In dc-2, installa Postgres sul nodo appropriato:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2 
- Configura il master/standby di Postgres per i nodi Postgres. Il nodo Postgres in dc-1 è
      mentre il nodo Postgres in dc-2 è il server di standby.
      
      - Nel nodo master in dc-1, modifica il file di configurazione impostando:
          PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby 
- Abilita la replica sul nuovo master:
          /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle 
- Nel nodo in standby in dc-2, modifica il file di configurazione impostando:
          PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby 
- Nel nodo in standby in dc-2, arresta il server ed elimina tutti gli eventuali
          Dati Postgres esistenti:
          /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop rm -rf /opt/apigee/data/apigee-postgresql/Se necessario, puoi eseguire il backup di questi dati prima di eliminarli. 
- Configura il nodo in standby in dc-2:
          /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile 
 
- Nel nodo master in dc-1, modifica il file di configurazione impostando:
          
- In dc-1, aggiorna la configurazione dell'analisi e configura le organizzazioni.
      - Nel nodo del server di gestione di dc-1, ottieni l'UUID di Postgres
          nodo:
          apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \ --admin adminEmail --pwd adminPword --host localhost L'UUID viene visualizzato alla fine dei dati restituiti. Salva quel valore. 
- Nel nodo del server di gestione di dc-2, ottieni l'UUID di Postgres come mostrato nel passaggio precedente. Salva quel valore.
- Sul nodo del server di gestione di dc-1, determina il nome dell'agente
          analisi dei dati e gruppi di consumatori. Molti dei comandi riportati di seguito richiedono queste informazioni.
          Per impostazione predefinita, il nome del gruppo di Analytics è "axgroup-001" e il nome del consumatore è "consumer-group-001". Nel file di configurazione invisibile per una regione, puoi impostare il nome del gruppo di Analytics utilizzando la proprietà AXGROUP.Se hai dubbi sui nomi dei gruppi di dati e analisi e di consumer, utilizza quanto segue per visualizzarli: apigee-adminapi.sh analytics groups list \ --admin adminEmail --pwd adminPword --host localhost Questo comando restituisce il nome del gruppo di analisi nel campo del nome e il gruppo di consumer nel campo consumer-groups. 
- Sul nodo del server di gestione di dc-1, rimuovi il file Postgres esistente
        Server del gruppo di analisi:
          - .
            
- Rimuovi il nodo Postgres dal gruppo di consumer:
              apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u UUID \ -Y --admin adminEmail --pwd adminPword --host localhost Se dc-1 è configurato in modo da avere due nodi Postgres in esecuzione modalità master/standby, rimuovi entrambi: apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" \ -Y --admin adminEmail --pwd adminPword --host localhost 
- Rimuovi il nodo Postgres dal gruppo di analisi:
              apigee-adminapi.sh analytics groups postgres_server remove \ -g axgroup-001 -u UUID -Y --admin adminEmail \ --pwd adminPword --host localhost Se dc-1 è configurato in modo da avere due nodi Postgres in esecuzione in modalità master/standby, rimuovi entrambi: apigee-adminapi.sh analytics groups postgres_server \ remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \ --pwd adminPword --host localhost 
 
- Rimuovi il nodo Postgres dal gruppo di consumer:
              
- Sul nodo del server di gestione di dc-1, aggiungi il nuovo master/standby
          Server Postgres al gruppo di analisi:
          - .
            
- Aggiungi entrambi i server Postgres al gruppo di analisi:
              apigee-adminapi.sh analytics groups postgres_server \ add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost Qui UUID_1 corrisponde al nodo Postgres master in dc-1 e UUID_2 corrisponde al modulo Postgres in standby in dc-2. 
- Aggiungi i server PG al gruppo di consumer come master/standby:
              apigee-adminapi.sh analytics groups consumer_groups datastores \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost 
 
- Aggiungi entrambi i server Postgres al gruppo di analisi:
              
- Aggiungi i server Qpid da dc-2 al gruppo di analisi:
          - .
            
- Nel nodo del server di gestione di dc-1, ottieni gli UUID di Qpid
              nodi in dc-2:
              apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \ --admin adminEmail --pwd adminPword --host localhost Gli UUID vengono visualizzati alla fine dei dati restituiti. Salva questi valori. 
- Sul nodo del server di gestione di dc-1, aggiungi i nodi Qpid alla
              Analytics Group (esegui entrambi i comandi):
              apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_1" --admin adminEmail \ --pwd adminPword --host localhost apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
- Sul nodo del server di gestione di dc-1, aggiungi i nodi Qpid alla
              gruppo di consumatori (esegui entrambi i comandi):
              apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1" \ --admin adminEmail --pwd adminPword --host localhost apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_2" \ --admin adminEmail --pwd adminPword --host localhost
 
- Nel nodo del server di gestione di dc-1, ottieni gli UUID di Qpid
              nodi in dc-2:
              
- Annulla la registrazione ed elimina il vecchio server di standby Postgres da dc-1:
          - Annulla la registrazione del server in standby dc-1 esistente:
              apigee-adminapi.sh servers deregister -u UUID -r dc-1 \ -p analytics -t postgres-server -Y --admin adminEmail \ --pwd adminPword --host localhost Dove l'UUID è il vecchio nodo Postgres in standby in dc-1. 
- Elimina il server di standby Postgres dc-1 esistente:
              
              apigee-adminapi.sh servers delete -u UUID \ --admin adminEmail --pwd adminPword --host localhost 
 
- Annulla la registrazione del server in standby dc-1 esistente:
              
 
- Nel nodo del server di gestione di dc-1, ottieni l'UUID di Postgres
          nodo:
          
- Aggiorna gli spazi delle chiavi Cassandra con il fattore di replica corretto per i due data center. Tu
      Devi eseguire questo passaggio una sola volta su un server Cassandra in uno dei due data center:
      
      - Avvia l'utilità Cassandra cqlsh:/opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP 
- Esegui i seguenti comandi CQL in "cqlsh>" di impostare la replica
        livelli per gli spazi delle chiavi Cassandra:
          - ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Visualizza gli spazi delle chiavi utilizzando il comando:
              select * from system.schema_keyspaces; 
- Esci da cqlsh:exit 
 
 
- Avvia l'utilità Cassandra 
- Esegui questo comando nodetoolsu tutti i nodi Cassandra in dc-1 per liberare spazio memoria:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup Devi trasmettere il tuo nome utente e la tua password solo se l'autenticazione JMX abilitata per Cassandra. 
- Per ogni organizzazione e ambiente che vuoi supportare nei data center:
      - Sul nodo del server di gestione di dc-1, aggiungi il nuovo MP_POD alla
          Organizzazione:
          apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \ --admin adminEmail --pwd adminPword --host localhost Dove gateway-2 è il nome del pod gateway come definito MP_POD nel file di configurazione dc-2. 
- Aggiungi i nuovi processori di messaggi all'organizzazione e all'ambiente:
          - Nel nodo del server di gestione di dc-2, ottieni gli UUID del
              Nodi del processore di messaggi in dc-2:
              apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \ -t message-processor --admin adminEmail --pwd adminPword --host localhost Gli UUID vengono visualizzati alla fine dei dati restituiti. Salva questi valori. 
- Sul nodo del server di gestione di dc-1, per ogni processore di messaggi
              In dc-2, aggiungi il processore di messaggi a un ambiente per l'organizzazione:
              apigee-adminapi.sh orgs envs servers add -o orgName -e envName \ -u UUID --admin adminEmail --pwd adminPword --host localhost 
 
- Nel nodo del server di gestione di dc-2, ottieni gli UUID del
              Nodi del processore di messaggi in dc-2:
              
- Nel nodo del server di gestione di dc-1, controlla l'organizzazione:
          apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \ --admin adminEmail --pwd adminPword --host localhost Dove apiProxyName è il nome di un proxy API di cui è stato eseguito il deployment nell'organizzazione. 
 
- Sul nodo del server di gestione di dc-1, aggiungi il nuovo MP_POD alla
          Organizzazione: