Edge for Private Cloud v4.18.01
Puoi installare l'API BaaS in più data center utilizzando una configurazione attiva/attiva. Questo documento descrive come aggiungere un data center BaaS a dati BaaS esistenti. Google Cloud.
L'aggiunta di un data center durante la Il cluster Cassandra è condiviso con Edge
Tutti i data center devono avere lo stesso numero di nodi Cassandra. Un'installazione API BaaS può utilizza il proprio cluster Cassandra o può condividere un cluster Cassandra con Edge.
Se l'installazione BaaS condivide un cluster Cassandra con Edge, devi aggiornare il nel data center originale per configurarlo in modo che riconosca i nodi Cassandra in nel nuovo data center.
Aggiornamento del data center esistente
L'aggiunta di un nuovo data center BaaS (data center 2) richiede l'esecuzione dei passaggi per installare e configurare il nuovo data center, ma richiede anche l'aggiornamento del data center BaaS originale (data center 1). Queste modifiche sono necessarie perché:
- Stai aggiungendo al nuovo data center nuovi nodi Cassandra che devono essere accessibili data center esistente.
- Devi configurare le informazioni di replica utilizzate dai nodi dello stack BaaS nel data center 1 in modo da includere le informazioni del data center 2. Non puoi eseguire questa configurazione finché sia installato il data center 2.
Per eseguire questi aggiornamenti sul data center 1, devi aggiornare il file di configurazione originale utilizzato installare il data center 1 e quindi eseguire nuovamente apigee-setup sui nodi di dati di Cassandra center 1. Se il cluster Cassandra per il data center 1 è condiviso con un'installazione Edge, devi aggiornare anche il server di gestione.
crea i file di configurazione
Per installare il data center 1, utilizza la configurazione mostrata nell'articolo Installazione di API BaaS. Il file di configurazione Non è necessario includere informazioni sul data center 2 al momento dell'installazione del data center 1.Aggiungi le informazioni al file di configurazione dopo l'installazione del data center 2.
Di seguito sono riportati i file di configurazione per il data center 2. Questo file di configurazione presuppone stia installando dc-2 su 10 nodi, come descritto in Topologie di installazione. Modifica questo file di conseguenza se stai eseguendo l'installazione su 7 nodi.
Tieni presente che il file di configurazione per il data center 2 (dc-2) contiene informazioni sul data center 1 (dc-1):
# Specify IP address or DNS name of node for dc-2. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra dc-2 (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra dc-2 (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra dc-2 (shared with Edge or standalone) # Specify node information for dc-1 IP11=192.168.1.11 # Cassandra dc-1 (shared with Edge or standalone) IP12=192.168.1.12 # Cassandra dc-1 (shared with Edge or standalone) IP13=192.168.1.13 # Cassandra dc-1 (shared with Edge or standalone) IP14=192.168.1.14 # API BaaS Stack IP15=192.168.1.15 # API BaaS Stack # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Specify Cassandra data center and rack suffix. # List dc-2 nodes first, then dc-1. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1" # Specify the Cassandra region. REGION=dc-2 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name as dc-2. BAAS_CASS_LOCALDC=dc-2 # Specify both data centers. BAAS_CASS_DC_LIST=dc-1,dc-2 # Replication is in the form "dataCenterName:#CassandraNodes". # Specify both data centers. BAAS_CASS_REPLICATION=dc-1:3,dc-2:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes per data center. # Specify both data centers. BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5" # ElasticSearch IPs or DNS names, separated by spaces, for dc-2. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Aggiungere un data center BaaS
- Installa il primo data center come descritto in Installazione di API BaaS. Quel documento include il file di configurazione che utilizzi per installare il data center 1.
- Crea il file di configurazione per dc-2 come descritto sopra.
- Installa Cassandra, come parte di un'installazione Edge esistente o come autonoma
cluster per BaaS:
- Installa l'utilità apigee-setup di Edge sul primo nodo Cassandra di dc-2, macchina 8, utilizzando la procedura su internet o non su internet. Consulta Installare apigee-setup un'utilità per ulteriori informazioni.
- Al prompt dei comandi, esegui lo script di configurazione per installare Cassandra sul primo nodo:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
L'opzione "-p c" specifica di installare Cassandra.
Il file di configurazione deve essere accessibile o leggibile da "apigee" utente. - Ripeti i passaggi 3 e 4 per i restanti nodi Cassandra, macchine 9 e 10, in dc-2
- Nei nodi Cassandra di dc-1, modifica il file di configurazione per aggiungere i nodi Cassandra da
data center 2 in base a come hai installato Cassandra:
# Elenca prima i nodi dc-1, poi dc-2,
# inclusi data center Cassandra e suffisso rack
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - Sul primo nodo Cassandra di dc-1, esegui setup.sh con il nuovo file di configurazione dc-1 che include i nodi Cassandra di dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - Ripeti i passaggi 6 e 7 per i restanti nodi Cassandra in dc-1.
- Se ti connetti a un cluster Cassandra per dc-1 condiviso con Edge,
aggiungi i nodi Cassandra dc-2 al file di configurazione per il nodo di Management Server di dc-1 ed esegui
setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - 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:
Nota: i comandi seguenti impostano il fattore di replica su "3", per indicare tre nodi Cassandra nel cluster. Modifica questo valore in base alle esigenze dell'installazione.- Avvia l'utilità cqlsh di Cassandra:
> /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:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_Serrature" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTERA SPAZIO CHIAVE "tracce_sistema" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Visualizza gli spazi chiavi utilizzando il comando:
cqlsh> select * from system.schema_keyspaces; - Esci da cqlsh:
cqlsh> exit
- Avvia l'utilità cqlsh di Cassandra:
- Su tutti i nodi Cassandra in dc-2, esegui il comando di ricostruzione specificando il nome della regione di
dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1 - Esegui "nodetool status" su ogni nodo Cassandra e verifica che tutti i nodi Cassandra abbiano
"100%" per il valore "Di proprietà":
> /opt/apigee/apigee-cassandra/bin/nodetool status - Installa BaaS in dc-2:
- Modifica il file di configurazione per elencare solo i nodi Cassandra in dc-2:
# Elenco nodi Cassandra dc-2,
# data center Cassandra e suffisso rack in omissione
CASS_HOSTS="$IP8 $IP9 $IP10" - Installa ElasticSearch sui nodi 4, 5 e 6 di dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - Installa lo stack BaaS sui nodi 4, 5 e 6 di dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - Installa il portale BaaS sulla macchina 7:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- Modifica il file di configurazione per elencare solo i nodi Cassandra in dc-2:
- Aggiorna i nodi dello stack BaaS nel data center 1:
- Sul primo nodo dello stack BaaS nel data center 1, modifica /opt/apigee/customer/application/usergrid.properties in un editor. Se il file non esiste, creane uno.
- Aggiungi le seguenti proprietà a usergrid.properties:
# Lo stesso valore di BAAS_CLUSTER_SEEDS nel file di configurazione dc-2,
# senza virgolette doppie.
usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2
# Lo stesso valore di BAAS_CASS_DC_LIST nel file di configurazione dc-2.
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - Ripeti i passaggi a e b per i restanti nodi dello stack BaaS.
- Riavviare tutti i nodi di BaaS Stack.
Nota: quando riavvii i nodi dello stack BaaS, riavviali nello stesso nell'ordine in cui sono elencati in BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS alla posizione quasi due nodi dello stack. Dopo aver riavviato i due nodi in ordine, puoi riavviare i nodi rimanenti in qualsiasi ordine.
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid reboot
- Aggiorna i valori dello spazio delle chiavi BaaS. Questo spazio delle chiavi deve essere impostato
per la replica al momento dell'installazione
ma non devono necessariamente essere in fase di esecuzione. La rimozione della replica salva anche la memoria di Cassandra.
Questo passaggio deve essere eseguito una sola volta su qualsiasi server Cassandra in uno dei due data center:- Avvia l'utilità cqlsh Cassandra:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Esegui questi comandi CQL per impostare i livelli di replica per Cassandra
spazi dei tasti:
- cqlsh> ALTERA SPAZIO CHIAVE "Apigee_Baas_dc_1" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTERA SPAZIO CHIAVE "Apigee_Baas_dc_2" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- Visualizza gli spazi delle chiavi utilizzando il comando:
cqlsh> seleziona * da system.schema_keyspaces; - Esci da cqlsh:
cqlsh> esci
- Avvia l'utilità cqlsh Cassandra:
L'installazione del secondo data center è stata completata.
Una volta completata l'installazione e la configurazione dei due data center, puoi convalidare l'installazione utilizzando questa procedura:
- Su tutti i nodi di BaaS Stack, controlla lo stato:
> curl 0:8080/status - Verifica che la chiamata API token funzioni:
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - Prova ad accedere al portale BaaS per dc-2. Verifica che tutti i dati siano replicati in dc-2, come le raccolte create in dc-1.