Installazione di più data center per l'API BaaS

Edge per Private Cloud v4.18.01

Puoi installare API BaaS in più data center utilizzando un'architettura configurazione. 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

Per aggiungere un nuovo data center BaaS (data center 2) devi eseguire i 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 nei dati per includere le informazioni provenienti dal 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 il file di conseguenza se vengono installate su 7 nodi.

Si noti 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>"

Aggiungi un data center BaaS

  1. 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.
  2. Crea il file di configurazione per dc-2 come descritto sopra.
  3. Installa Cassandra, come parte di un'installazione Edge esistente o come autonoma cluster per BaaS:
    1. Installa l'utilità Edge apigee-setup sulla prima Nodo Cassandra di dc-2, macchina 8, utilizzando la procedura internet o non internet. Consulta Installare apigee-setup un'utilità per ulteriori informazioni.
    2. Al prompt dei comandi, esegui lo script di configurazione per installare Cassandra sul primo nodo:
      &gt; /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.
    3. Ripeti i passaggi 3 e 4 per i restanti nodi Cassandra, macchine 9 e 10, in dc-2
  4. 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"
  5. 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:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. Ripeti i passaggi 6 e 7 per i restanti nodi Cassandra in dc-1.
  7. 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:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  8. 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.
    1. Avvia l'utilità cqlsh Cassandra:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Esegui i seguenti comandi CQL in "cqlsh>" di impostare la replica livelli per gli spazi delle chiavi Cassandra:
      1. cqlsh&gt; TESTO ALTERNATIVO KEYSPACE "Apigee_Baas_dc_1" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh&gt; TESTO ALTERNATIVO KEYSPACE "Apigee_Baas" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh&gt; TESTO ALTERNATIVO KEYSPACE "Apigee_Baas_Serrature" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh&gt; ALTERA SPAZIO CHIAVE "tracce_sistema" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh&gt; TESTO ALTERNATIVO KEYSPACE "system_auth" CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Visualizza gli spazi delle chiavi utilizzando il comando:
        cqlsh&gt; seleziona * da system.schema_keyspaces;
      7. Esci da cqlsh:
        cqlsh&gt; esci
  9. Su tutti i nodi Cassandra in dc-2, esegui il comando rebuild, specificando il nome della regione dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1
  10. Esegui "nodetool status" su ogni nodo Cassandra e verifica che tutti i nodi Cassandra abbiano "100%" per il valore "Di proprietà":
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool status
  11. Installa BaaS in dc-2:
    1. 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"
    2. Installa ElasticSearch sui nodi 4, 5 e 6 di dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. Installa lo stack BaaS sui nodi 4, 5 e 6 di dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. Installa il portale BaaS sul computer 7:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. Aggiorna i nodi dello stack BaaS nel data center 1:
    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, crealo.
    2. Aggiungi le seguenti proprietà a usergrid.properties:
      # Stesso valore di BAAS_CLUSTER_SEEDS nel file di configurazione dc-2,
      # senza virgolette.
      usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      # Stesso valore di BAAS_CASS_DC_LIST nel file di configurazione dc-2.
      usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. Ripeti i passaggi a e b per i restanti nodi dello stack BaaS.
    4. Riavvia tutti i nodi dello stack BaaS.

      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.

      &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid reboot
  13. 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:
    1. Avvia l'utilità cqlsh Cassandra:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Esegui questi comandi CQL per impostare i livelli di replica per Cassandra spazi dei tasti:
      1. cqlsh&gt; ALTERA SPAZIO CHIAVE &quot;Apigee_Baas_dc_1&quot; CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh&gt; ALTERA SPAZIO CHIAVE &quot;Apigee_Baas_dc_2&quot; CON replica = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Visualizza gli spazi delle chiavi utilizzando il comando:
        cqlsh&gt; seleziona * da system.schema_keyspaces;
      4. Esci da cqlsh:
        cqlsh&gt; esci

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:

  1. Controlla lo stato in tutti i nodi dello stack BaaS:
    &gt; curl 0:8080/status
  2. Verifica che la chiamata API token funzioni:
    &gt; curl -X POST &quot;http://localhost:8080/management/token&quot; -d &#39;{&quot;grant_type&quot;:&quot;password&quot;, "username":"adminEmail","password":"pWord"}'
  3. Prova ad accedere al portale BaaS per dc-2. Verifica che tutti i dati siano replicati in dc-2, come le raccolte create su dc-1.