Rechenzentrum hinzufügen

In diesem Dokument wird beschrieben, wie Sie ein Rechenzentrum (auch Region genannt) zu vorhandenen Daten hinzufügen in der Mitte.

Überlegungen vor dem Hinzufügen eines Rechenzentrums

Bevor Sie ein Rechenzentrum hinzufügen, müssen Sie wissen, wie OpenLDAP konfiguriert wird, ZooKeeper-, Cassandra- und Postgres-Server in den Rechenzentren. Außerdem müssen Sie sicherstellen, die erforderlichen Ports zwischen den Knoten in den beiden Rechenzentren offen sind.

  • OpenLDAP

    Jedes Rechenzentrum hat einen eigenen OpenLDAP-Server mit aktivierter Replikation. Wenn Sie das neue Rechenzentrum installieren, müssen Sie OpenLDAP für die Verwendung der Replikation konfigurieren und Sie müssen den OpenLDAP-Server im vorhandenen Rechenzentrum für die Verwendung der Replikation neu konfigurieren.

  • ZooKeeper

    Für das Attribut ZK_HOSTS für Beide Rechenzentren, geben Sie die IP-Adressen oder DNS-Namen aller ZooKeeper-Knoten aus beiden Daten an. in derselben Reihenfolge zentrieren und alle Knoten mit dem Modifikator „:observer“ markieren. Knoten ohne den :observer-Modifikator werden als „Voter“ bezeichnet. Du musst eine ungerade Nummer eingeben. Anzahl der „Wähler“ in Ihrer Konfiguration.

    Bei dieser Topologie ist der ZooKeeper-Host auf Host 9 der Beobachter:

    In der unten gezeigten Beispielkonfigurationsdatei ist Knoten 9 mit dem :observer, sodass du fünf Wähler hast: Knoten 1, 2, 3, 7 und 8.

    Für ZK_CLIENT_HOSTS für jedes Rechenzentrum die IP-Adressen oder DNS-Namen des ZooKeeper- Knoten im Rechenzentrum in derselben Reihenfolge für alle ZooKeeper-Knoten in den Daten. in der Mitte.

  • Cassandra

    Alle Rechenzentren müssen die gleiche Anzahl von Cassandra-Knoten haben.

    Für CASS_HOSTS müssen Sie für jedes Rechenzentrum alle Cassandra-IP-Adressen angeben Adressen (nicht DNS-Namen) für beide Daten in unseren Rechenzentren. Listen Sie für Rechenzentrum 1 zuerst die Cassandra-Knoten in diesem Rechenzentrum auf. Für Rechenzentrum 2. Listen Sie zuerst die Cassandra-Knoten in diesem Rechenzentrum auf. Listen Sie die Cassandra-Knoten im selben für alle Cassandra-Knoten im Rechenzentrum.

    Alle Cassandra-Knoten müssen das Suffix „:d,r“ haben. zum Beispiel ip:1,1 = Rechenzentrum 1 und Rack-/Verfügbarkeitszone 1 und ip:2,1 = Rechenzentrum 2 und Rack/Verfügbarkeitszone 1.

    Beispiel: "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"

    Der erste Knoten in der Rack-/Verfügbarkeitszone 1 jedes Rechenzentrums wird als Seed verwendet Server. In diesem Bereitstellungsmodell sieht die Cassandra-Einrichtung so aus:

  • Postgres

    Standardmäßig installiert Edge alle Postgres-Knoten im Master-Modus. Wenn Sie jedoch mehrere können Sie Postgres-Knoten für die Verwendung der Master-Stand-by-Replikation konfigurieren. Wenn der ausfällt, kann der Stand-by-Knoten weiter mit dem Servertraffic fortfahren. In der Regel konfigurieren Sie den Master-Postgres-Server in einem Rechenzentrum und den Standby-Server im zweiten Rechenzentrum in der Mitte.

    Wenn das vorhandene Rechenzentrum bereits so konfiguriert ist, dass zwei Postgres-Knoten ausgeführt werden, heben Sie die Registrierung des vorhandenen Stand-by-Knotens auf und durch einen Standby-Knoten im neuen Rechenzentrum ersetzen.

    Die folgende Tabelle zeigt die Konfiguration vor und nach der Postgres-Konfiguration für beide Szenarien:

    Vorher Nachher

    Einzelner Master-Postgres-Knoten in dc-1

    Master-Postgres-Knoten in dc-1

    Stand-by-Postgres-Knoten in dc-2

    Master-Postgres-Knoten in dc-1

    Stand-by-Postgres-Knoten in dc-1

    Master-Postgres-Knoten in dc-1

    Stand-by-Postgres-Knoten in dc-2

    Registrierung des alten Standby-Postgres-Knotens in dc-1 aufheben

  • Portanforderungen

    Sie müssen sicherstellen, dass die erforderlichen Ports zwischen den Knoten in den beiden Rechenzentren geöffnet sind. Ein Portdiagramm finden Sie unter Portanforderungen.

Bestehendes Rechenzentrum aktualisieren

Wenn Sie ein Rechenzentrum hinzufügen, müssen Sie die Schritte zur Installation und Konfiguration der neuen Daten ausführen Knoten im ursprünglichen Rechenzentrum aktualisieren. Diese sind Änderungen notwendig, da Sie neue Cassandra- und ZooKeeper-Knoten in der neuen die für das bestehende Rechenzentrum zugänglich sein müssen, und Sie müssen OpenLDAP, um Replikation zu verwenden.

Konfigurationsdateien erstellen

Unten sehen Sie die Konfigurationsdateien für die beiden Rechenzentren, in denen jedes hat 6 Knoten, wie unter Installationstopologien dargestellt. Beachten Sie, dass die Konfigurationsdatei für dc-1 weitere Einstellungen:

  • Konfigurieren Sie OpenLDAP mit Replikation über zwei OpenLDAP-Knoten.
  • Fügen Sie der Konfigurationsdatei für dc-1 die neuen Cassandra- und ZooKeeper-Knoten aus dc-2 hinzu.
# 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>"

Neues Rechenzentrum hinzufügen

Gehen Sie wie unten beschrieben vor, um ein neues Rechenzentrum zu installieren.

In diesem Verfahren haben die Rechenzentren folgende Namen:

  • dc-1: das vorhandene Rechenzentrum
  • dc-2: das neue Rechenzentrum

So fügen Sie ein neues Rechenzentrum hinzu:

  1. Führen Sie auf dc-1 noch einmal "setup.sh" auf den ursprünglichen Cassandra-Knoten mit dem neuen dc-1 aus. Konfigurationsdatei, die die Cassandra-Knoten aus dc-2 enthält:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Führen Sie auf dc-1 noch einmal "setup.sh" auf dem Knoten des Verwaltungsservers aus:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Installieren Sie auf dc-2 apigee-setup auf allen Knoten. Weitere Informationen finden Sie unter Edge-Apigee-Setup-Dienstprogramm installieren. Informationen.
  4. Installieren Sie auf dc-2 Cassandra und ZooKeeper auf den entsprechenden Knoten:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Führen Sie auf dc-2 den Befehl "rebuild" auf allen Cassandra-Knoten aus und geben Sie dabei Folgendes an: Name der Region von dc-1:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1

    Sie müssen Ihren Nutzernamen und Ihr Passwort nur dann weitergeben, wenn Sie JMX-Authentifizierung für Cassandra aktiviert.

  6. Installieren Sie auf dc-2 den Verwaltungsserver auf dem entsprechenden Knoten:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. Installieren Sie apigee-provision auf dem Verwaltungsserverknoten in dc-2. zum Installieren des apigee-adminapi.sh-Dienstprogramms:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. Installieren Sie auf dc-2 die Routen und Nachrichtenprozessoren auf den entsprechenden Knoten:
    /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. Installieren Sie auf dc-2 Qpid auf den entsprechenden Knoten:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. Installieren Sie auf dc-2 Postgres auf dem entsprechenden Knoten:
    /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Richten Sie den Postgres-Master/Standby für die Postgres-Knoten ein. Der Postgres-Knoten in dc-1 ist der und der Postgres-Knoten in dc-2 ist der Stand-by-Server.
    1. Bearbeiten Sie auf dem Masterknoten in dc-1 die Konfigurationsdatei, um Folgendes festzulegen:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Aktivieren Sie die Replikation auf dem neuen Master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. Bearbeiten Sie die Konfigurationsdatei auf dem Standby-Knoten in dc-2, um Folgendes festzulegen:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Beenden Sie auf dem Standby-Knoten in dc-2 den Server und löschen Sie dann vorhandenen Postgres-Daten:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      rm -rf /opt/apigee/data/apigee-postgresql/

      Bei Bedarf können Sie diese Daten vor dem Löschen sichern.

    5. Konfigurieren Sie den Stand-by-Knoten in dc-2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. Aktualisieren Sie auf dc-1 die Analysekonfiguration und konfigurieren Sie die Organisationen.
    1. Rufen Sie auf dem Verwaltungsserverknoten von dc-1 die UUID des Postgres ab. Knoten:
      apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \
        --admin adminEmail --pwd adminPword --host localhost

      Die UUID wird am Ende der zurückgegebenen Daten angezeigt. Speichern Sie diesen Wert.

    2. Rufen Sie auf dem Verwaltungsserverknoten von dc-2 die UUID des Postgres ab. wie im vorherigen Schritt gezeigt. Speichern Sie diesen Wert.
    3. Bestimmen Sie auf dem Verwaltungsserverknoten von dc-1 den Namen des Analysen und Nutzergruppen. Viele der folgenden Befehle erfordern diese Information.

      Standardmäßig lautet der Name der Analysegruppe "axgroup-001" und der Name des Nutzers group ist „consumer-group-001“. In der Datei für die stille Konfiguration für eine Region können Sie den Namen der Analysegruppe mithilfe des Attributs AXGROUP.

      Wenn Sie sich bezüglich der Namen der Analyse- und Nutzergruppen nicht sicher sind, verwenden Sie Folgendes: , um sie anzuzeigen:

      apigee-adminapi.sh analytics groups list \
        --admin adminEmail --pwd adminPword --host localhost

      Dieser Befehl gibt den Namen der Analysegruppe im Namensfeld und die Nutzergruppe zurück name im Feld „consumer-groups“ (Nutzergruppen) ein.

    4. Entfernen Sie auf dem Verwaltungsserverknoten von dc-1 das vorhandene Postgres. Server aus der Analysegruppe: <ph type="x-smartling-placeholder">
        </ph>
      1. Entfernen Sie den Postgres-Knoten aus der Nutzergruppe:
        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

        Wenn dc-1 so konfiguriert ist, dass zwei Postgres-Knoten ausgeführt werden, Master-/Standby-Modus, entfernen Sie beide:

        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
      2. Entfernen Sie den Postgres-Knoten aus der Analysegruppe:
        apigee-adminapi.sh analytics groups postgres_server remove \
          -g axgroup-001 -u UUID -Y --admin adminEmail \
          --pwd adminPword --host localhost

        Wenn dc-1 so konfiguriert ist, dass zwei Postgres-Knoten im Master-/Standby-Modus ausgeführt werden, entfernen Sie beide:

        apigee-adminapi.sh analytics groups postgres_server \
          remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \
          --pwd adminPword --host localhost
    5. Fügen Sie auf dem Verwaltungsserverknoten von dc-1 den neuen Master bzw. die Standby-Instanz hinzu. Postgres-Server an die Analysegruppe: <ph type="x-smartling-placeholder">
        </ph>
      1. Fügen Sie beide Postgres-Server zur Analysegruppe hinzu:
        apigee-adminapi.sh analytics groups postgres_server \
          add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \
          --pwd adminPword --host localhost

        UUID_1 entspricht jeweils dem Master-Postgres-Knoten in dc-1 und UUID_2 entspricht dem Stand-by-Postgres Knoten in dc-2.

      2. Fügen Sie die PG-Server der Nutzergruppe als Master/Standby hinzu:
        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
    6. Fügen Sie der Analysegruppe die Qpid-Server aus dc-2 hinzu: <ph type="x-smartling-placeholder">
        </ph>
      1. Rufen Sie auf dem Verwaltungsserverknoten von dc-1 die UUIDs der Qpid ab. Knoten in dc-2:
        apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \
          --admin adminEmail --pwd adminPword --host localhost

        Die UUIDs werden am Ende der zurückgegebenen Daten angezeigt. Speichern Sie diese Werte.

      2. Fügen Sie auf dem Verwaltungsserver-Knoten von dc-1 die Qpid-Knoten zum Analysegruppe (beide Befehle ausführen):
        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
      3. Fügen Sie auf dem Verwaltungsserver-Knoten von dc-1 die Qpid-Knoten zum Nutzergruppe (beide Befehle ausführen):
        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
    7. Heben Sie die Registrierung des alten Postgres-Standby-Servers von dc-1 auf und löschen Sie ihn: <ph type="x-smartling-placeholder">
        </ph>
      1. Heben Sie die Registrierung des vorhandenen Postgres-Standby-Servers dc-1 auf:
        apigee-adminapi.sh servers deregister -u UUID -r dc-1 \
          -p analytics -t postgres-server -Y --admin adminEmail \
          --pwd adminPword --host localhost

        Dabei ist die UUID der alte Standby-Postgres-Knoten in dc-1.

      2. Löschen Sie den vorhandenen Postgres-Standby-Server dc-1:
        apigee-adminapi.sh servers delete -u UUID \
          --admin adminEmail --pwd adminPword --host localhost
  13. Aktualisieren Sie die Cassandra-Schlüsselbereiche mit dem richtigen Replikationsfaktor für die beiden Rechenzentren. Ich Sie müssen diesen Schritt nur einmal auf einem Cassandra-Server in einem der Rechenzentren ausführen:
    1. Starten Sie das Cassandra-Dienstprogramm cqlsh:
      /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. ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' }; 
      2. ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Rufen Sie die Schlüsselbereiche mit dem folgenden Befehl auf:
        select * from system.schema_keyspaces;
      4. Beenden Sie cqlsh:
        exit
  14. Führen Sie den folgenden nodetool-Befehl auf allen Cassandra-Knoten in dc-1 aus, um sie freizugeben Arbeitsspeicher:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

    Sie müssen Ihren Nutzernamen und Ihr Passwort nur dann weitergeben, wenn Sie JMX-Authentifizierung für Cassandra aktiviert.

  15. Führen Sie für jede Organisation und jede Umgebung, die Sie in mehreren Rechenzentren unterstützen möchten, folgende Schritte aus: <ph type="x-smartling-placeholder">
      </ph>
    1. Fügen Sie auf dem Verwaltungsserverknoten von dc-1 das neue MP_POD zum Organisation:
      apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \
        --admin adminEmail --pwd adminPword --host localhost

      Dabei ist gateway-2 der Name des Gateway-Pods, der im MP_POD in der dc-2-Konfigurationsdatei.

    2. Fügen Sie der Organisation und Umgebung die neuen Message Processors hinzu: <ph type="x-smartling-placeholder">
        </ph>
      1. Rufen Sie auf dem Verwaltungsserverknoten von dc-2 die UUIDs der Message Processor-Knoten in dc-2:
        apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \
          -t message-processor --admin adminEmail --pwd adminPword --host localhost

        Die UUIDs werden am Ende der zurückgegebenen Daten angezeigt. Speichern Sie diese Werte.

      2. Auf dem Verwaltungsserverknoten von dc-1 für jeden Message Processor Fügen Sie in dc-2 den Message Processor einer Umgebung für die Organisation hinzu:
        apigee-adminapi.sh orgs envs servers add -o orgName -e envName \
          -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. Prüfen Sie die Organisation auf dem Verwaltungsserverknoten von dc-1:
      apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \
        --admin adminEmail --pwd adminPword --host localhost

      Dabei ist apiProxyName der Name eines API-Proxys, der in der Organisation bereitgestellt wird.