Installation mehrerer Rechenzentren für API BaaS

Edge for Private Cloud Version 4.17.09

Sie können API BaaS in mehreren Rechenzentren mit einem Aktiv/Aktiv- Konfiguration. In diesem Dokument wird beschrieben, wie Sie vorhandenen BaaS-Daten ein BaaS-Rechenzentrum hinzufügen können in der Mitte.

Das Hinzufügen eines Rechenzentrums Cassandra-Cluster wird mit Edge gemeinsam genutzt

Alle Rechenzentren müssen die gleiche Anzahl von Cassandra-Knoten haben. Eine API-BaaS-Installation kann einen eigenen Cassandra-Cluster verwenden oder einen Cassandra-Cluster mit Edge teilen.

Wenn die BaaS-Installation einen Cassandra-Cluster mit Edge teilt, müssen Sie die Management Server im ursprünglichen Rechenzentrum, um ihn so zu konfigurieren, dass er die Cassandra-Knoten in in das neue Rechenzentrum.

Bestehendes Rechenzentrum aktualisieren

Um ein neues BaaS-Rechenzentrum (Rechenzentrum 2) hinzuzufügen, müssen Sie die Schritte zur Installation und das neue Rechenzentrum zu konfigurieren, erfordert aber auch die Aktualisierung des ursprünglichen BaaS-Rechenzentrums. (Rechenzentrum 1) . Diese Änderungen sind aus folgenden Gründen erforderlich:

  • Sie fügen dem neuen Rechenzentrum neue Cassandra-Knoten hinzu, die für die vorhandenen Rechenzentrums arbeiten.
  • Sie müssen die von den BaaS-Stack-Knoten in Daten verwendeten Replikationsinformationen konfigurieren um Informationen aus Rechenzentrum 2 einzubeziehen. Sie können diese Konfiguration erst durchführen, Rechenzentrum 2 installiert ist.

Um diese Aktualisierungen im Rechenzentrum 1 durchzuführen, aktualisieren Sie die ursprüngliche Konfigurationsdatei, die für Installieren Sie Data Center 1 und führen Sie dann apigee-setup noch einmal auf den Cassandra-Datenknoten aus Zentrum 1. Wenn der Cassandra-Cluster für Rechenzentrum 1 von einer Edge-Installation gemeinsam genutzt wird, dann müssen Sie auch den Verwaltungsserver aktualisieren.

Konfigurationsdateien erstellen

Verwenden Sie für die Installation von Data Center 1 die unter API-BaaS-Installation gezeigte Konfiguration. Die Konfigurationsdatei muss alle Informationen über Rechenzentrum 2 enthalten, wenn Sie Rechenzentrum 1 installieren.Sie fügen Informationen zur Konfigurationsdatei nach der Installation von Data Center 2.

Im Folgenden sehen Sie die Konfigurationsdateien für Rechenzentrum 2. Diese Konfigurationsdatei setzt voraus, dc-2 auf 10 Knoten installieren, wie unter Installationstopologien beschrieben. Passen Sie diese Datei entsprechend an, wenn Sie werden auf 7 Knoten installiert.

Beachten Sie, dass die Konfigurationsdatei für Rechenzentrum 2 (dc-2) Informationen über Rechenzentrum 1 enthält. (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>"

BaaS-Rechenzentrum hinzufügen

  1. Installieren Sie das erste Rechenzentrum, wie unter API BaaS beschrieben. Installation. Dieses Dokument enthält die Konfigurationsdatei, die Sie zum Installieren von Daten verwenden. Zentrum 1.
  2. Erstellen Sie die Konfigurationsdatei für dc-2 wie oben beschrieben.
  3. Installieren Sie Cassandra, entweder als Teil einer vorhandenen Edge-Installation oder als eigenständige Version Cluster für BaaS: <ph type="x-smartling-placeholder">
      </ph>
    1. Installieren Sie das Edge-Dienstprogramm apigee-setup auf dem ersten Cassandra-Knoten von dc-2, Maschine 8, per Internet oder Nicht-Internet. Weitere Informationen finden Sie unter Installieren Sie das Edge-Apigee-Setup .
    2. Führen Sie in der Eingabeaufforderung das Setupskript aus, um Cassandra auf dem ersten Knoten zu installieren:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

      Die Option „-p c“ gibt an, dass Cassandra installiert werden soll.

      Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.
    3. Wiederholen Sie die Schritte 3 und 4 für die verbleibenden Cassandra-Knoten, Rechner 9 und 10, in dc-2 enthalten.
  4. Bearbeiten Sie die Konfigurationsdatei auf den Cassandra-Knoten von dc-1, um die Cassandra-Knoten aus Rechenzentrum 2, je nachdem, wie Sie Cassandra installiert haben:

    # Zuerst dc-1-Knoten auflisten, dann dc-2,
    Anzahl einschließlich Cassandra-Rechenzentrum und Rack-Suffix
    CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. Führen Sie auf dem ersten Cassandra-Knoten von dc-1 "setup.sh" mit der neuen dc-1-Konfigurationsdatei aus, enthält die Cassandra-Knoten aus dc-2:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. Wiederholen Sie die Schritte 6 und 7 für die verbleibenden Cassandra-Knoten in dc-1.
  7. Wenn Sie eine Verbindung zu einem Cassandra-Cluster für dc-1 herstellen, der für Edge freigegeben ist, Fügen Sie der Konfigurationsdatei für den Verwaltungsserver-Knoten von dc-1 die dc-2-Cassandra-Knoten hinzu und führen Sie setup.sh:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  8. Aktualisieren Sie die Cassandra-Schlüsselbereiche mit dem richtigen Replikationsfaktor für die beiden Rechenzentren. Ich Dieser Schritt muss nur einmal auf einem Cassandra-Server in einem der Rechenzentren ausgeführt werden:

    Hinweis: Mit den folgenden Befehlen wird der Replikationsfaktor auf „3“ gesetzt. drei Cassandra-Knoten im Cluster. Ändern Sie diesen Wert nach Bedarf für Ihre Installation.
    1. Starten Sie das Cassandra-Dienstprogramm cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Führen Sie die folgenden CQL-Befehle unter „cqlsh>“ aus. Aufforderung zum Festlegen der Replikation Ebenen für Cassandra-Schlüsselbereiche: <ph type="x-smartling-placeholder">
        </ph>
      1. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas_dc_1" WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas" WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas_Locks" WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh&gt; ALTER-KEYSPACE „system_traces“ WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh&gt; ALTER KEYSPACE "system_auth" WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Sehen Sie sich die Schlüsselbereiche mit dem folgenden Befehl an:
        cqlsh&gt; auswählen * aus system.schema_keyspaces;
      7. Beenden Sie „cqlsh“:
        cqlsh&gt; exit
  9. Führen Sie auf allen Cassandra-Knoten in dc-2 den Befehl "rebuild" aus und geben Sie dabei den Namen der Region an: dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP Rebuild dc-1
  10. "nodetool status" ausführen auf jedem Cassandra-Knoten ein und prüfen Sie, ob alle Cassandra-Knoten „100 %“ für den Wert „Eigene“:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool-Status
  11. Installieren Sie BaaS in dc-2: <ph type="x-smartling-placeholder">
      </ph>
    1. Bearbeiten Sie die Konfigurationsdatei so, dass nur die Cassandra-Knoten in dc-2 aufgelistet werden:
      # dc-2 Cassandra-Knoten auflisten,
      # Auslassung von Cassandra-Rechenzentrum und Rack-Suffix
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. Installieren Sie ElasticSearch auf den Knoten 4, 5 und 6 von dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. Installieren Sie den BaaS-Stack auf den Knoten 4, 5 und 6 von dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. Installieren Sie das BaaS-Portal auf Maschine 7:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. BaaS-Stack-Knoten im Rechenzentrum 1 aktualisieren: <ph type="x-smartling-placeholder">
      </ph>
    1. Bearbeiten Sie auf dem ersten BaaS-Stack-Knoten im Rechenzentrum 1 /opt/apigee/customer/application/usergrid.properties. in einem Editor. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    2. Fügen Sie usergrid.properties die folgenden Eigenschaften hinzu:
      # Identischer Wert wie BAAS_CLUSTER_SEEDS in der dc-2-Konfigurationsdatei,
      # ohne doppelte Anführungszeichen.
      usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      # Identischer Wert wie BAAS_CASS_DC_LIST in der dc-2-Konfigurationsdatei.
      usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. Wiederholen Sie die Schritte a und b auf den verbleibenden BaaS-Stack-Knoten.
    4. Starten Sie alle BaaS-Stack-Knoten neu.

      Hinweis: Wenn Sie BaaS-Stack-Knoten neu starten, starten Sie sie im selben Ordner wie Reihenfolge, dass sie in BAAS_CLUSTER_SEEDS aufgelistet sind. BAAS_CLUSTER_SEEDS-Listen in zwei Stack-Knoten. Nach dem Neustart dieser beiden Knoten können Sie den verbleibenden Knoten in beliebiger Reihenfolge.

      &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid Neustart
  13. Aktualisiert die BaaS-Schlüsselraumwerte. Dieser Schlüsselraum muss bei der Installation für die Replikation festgelegt werden, müssen aber nicht zur Laufzeit erfolgen. Durch das Entfernen der Replikation wird auch Cassandra-Arbeitsspeicher gespart.

    Sie müssen diesen Schritt nur einmal auf einem Cassandra-Server in einem der Rechenzentren ausführen: <ph type="x-smartling-placeholder">
      </ph>
    1. Starten Sie das Cassandra-Dienstprogramm cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Führen Sie die folgenden CQL-Befehle aus, um die Replikationsstufen für Cassandra festzulegen Schlüsselbereiche: <ph type="x-smartling-placeholder">
        </ph>
      1. cqlsh&gt; ALTER-KEYSPACE &quot;Apigee_Baas_dc_1&quot; WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh&gt; ALTER-KEYSPACE &quot;Apigee_Baas_dc_2&quot; WITH Replikation = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Sehen Sie sich die Schlüsselbereiche mit dem folgenden Befehl an:
        cqlsh&gt; Auswählen * aus system.schema_keyspaces;
      4. Beenden Sie „cqlsh“:
        cqlsh&gt; beenden

Die Installation des zweiten Rechenzentrums ist jetzt abgeschlossen.

Nachdem Sie die Installation und Konfiguration der beiden Rechenzentren abgeschlossen haben, können Sie Validieren Sie die Installation folgendermaßen:

  1. Prüfen Sie auf allen BaaS-Stack-Knoten den Status:
    &gt; curl 0:8080/Status
  2. Prüfen Sie, ob der Token-API-Aufruf funktioniert:
    &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. Versuchen Sie, sich im BaaS-Portal für dc-2 anzumelden. Vergewissern Sie sich, dass alle Daten in dc-2 repliziert werden. wie z. B. auf dc-1 erstellte Sammlungen.