Apigee-Server verschieben

Wenn Sie Komponenten von einer Maschine auf eine andere verschieben, kann es zu einer Konfigurationsabweichung kommen, wenn Sie die IP-Adressen in den Konfigurationsdateien der Komponenten nicht synchron halten.

In diesem Abschnitt wird beschrieben, wie Sie Konfigurationsabweichungen diagnostizieren und beheben.

IP-Adressen im Vergleich zu Hostnamen

In den Konfigurationsdateien der Komponenten sollten Sie IP-Adressen anstelle von Hostnamen verwenden.

In einigen Konfigurationsdateien für Komponenten können Sie Hostnamen anstelle von IP-Adressen verwenden. Die Verwendung von Hostnamen kann jedoch die Fehlerbehebung erschweren. Hostnamen können beispielsweise die Ursache für Probleme im Zusammenhang mit der DNS-Serververbindung, Suchfehlern und der Synchronisierung sein.

Apigee empfiehlt daher dringend, für alle Komponentenkonfigurationen IP-Adressen zu verwenden. In einigen Fällen, z. B. bei Cassandra, müssen Sie IP-Adressen verwenden und können keine Hostnamen verwenden. In den meisten Beispielen in der Dokumentation werden IP-Adressen für die Komponentenkonfiguration verwendet.

Berücksichtigen Sie bei Hostnamen und IP-Adressen die Auswirkungen der folgenden Szenarien, wenn Sie Apigee-Server verschieben:

Szenario Auswirkungen auf den Umzug von Servern
Änderung der IP-Adresse Aktualisieren Sie alle zugehörigen Dateien, die auf die ursprüngliche IP-Adresse verweisen.
Änderung des Hostnamens ohne Änderung der IP-Adresse Keine Auswirkung
Hostname-Änderung mit Änderung der IP-Adresse Entspricht einer Änderung der IP-Adresse

IP-Adresse eines Cassandra-Knotens ändern

Führen Sie die folgenden Schritte aus, um die IP-Adresse eines Cassandra-Knotens zu ändern:

Für Konfigurationen mit einem einzelnen Cassandra-Knoten

  1. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties auf dem zu ändernden System. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
  2. Ändern Sie die folgenden Parameter:
    • Legen Sie die Parameter conf_cassandra_seeds und conf_cassandra_listen_address fest, um die neue IP-Adresse des Systems anzugeben.
    • Ändern Sie conf_cassandra_rpc_address so, dass entweder die neue IP-Adresse oder 0.0.0.0 verwendet wird (wodurch Cassandra Thrift auf allen Schnittstellen überwacht werden kann).
  3. Öffnen Sie /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in einem Editor. Sie sollten die alte IP-Adresse und die Standardeinstellung im Formular sehen:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    Speichern Sie diese Informationen.

  4. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties, um die alte IP-Adresse in die neue IP-Adresse zu ändern:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Fügen Sie nach der IP-Adresse „\n“ ein und geben Sie dieselben Standardeinstellungen wie in Schritt 3 an.

  5. Starten Sie Cassandra neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Reparieren Sie bei Bedarf auch ZooKeeper (siehe unten). Starten Sie andernfalls alle Apigee-Plattformkomponenten neu, beginnend mit dem Management Server.

Für Konfigurationen mit mehreren Cassandra-Knoten (Ring)

  1. Wenn der geänderte Knoten ein Seed-Knoten ist, bearbeiten Sie die Datei /opt/apigee/customer/application/cassandra.properties auf jedem System im Ring und ändern Sie den Parameter conf_cassandra_seeds so, dass er die neue IP-Adresse des geänderten Systems enthält. Wenn die Datei „cassandra.properties“ nicht vorhanden ist, erstellen Sie sie.
  2. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties auf dem zu ändernden System und ändern Sie die folgenden Parameter:
    • Legen Sie conf_cassandra_listen_address fest, um die neue IP-Adresse zu verwenden.
    • Legen Sie für conf_cassandra_rpc_address entweder die neue IP-Adresse oder „0.0.0.0“ fest, damit Cassandra Thrift auf allen Schnittstellen überwacht werden kann.
  3. Öffnen Sie /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in einem Editor. Sie sollten alle Cassandra-IP-Adressen und die Standardeinstellung im folgenden Format sehen:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    Speichern Sie diese Informationen.

  4. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties, um die alte IP-Adresse in die neue IP-Adresse zu ändern:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Fügen Sie nach jeder IP-Adresse „\n“ ein und verwenden Sie dieselben Standardeinstellungen wie in Schritt 3 oben.

  5. Starten Sie Cassandra auf dem geänderten System neu. Wenn das geänderte System ein Seed-Knoten ist, starten Sie auch jedes System neu, das den geänderten Seed-Knoten verwendet hat.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Führen Sie den Befehl nodetool ring auf dem geänderten Knoten aus, um zu prüfen, ob der Ring vollständig ist. Das Dienstprogramm finden Sie unter /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring

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

  7. Führen Sie nodetool repair auf dem geänderten Knoten aus. Dieser Vorgang kann einige Zeit dauern. Es wird daher dringend empfohlen, ihn nicht während der Spitzenzeiten des API-Traffics auszuführen.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. Reparieren Sie bei Bedarf ZooKeeper (siehe unten) und starten Sie dann alle Apigee-Plattformkomponenten neu, beginnend mit dem Management Server.

Datenspeicherregistrierungen aktualisieren

  1. Suchen Sie mit den folgenden Befehlen nach den UUIDs von Datenspeicherregistrierungen, die die alte IP-Adresse angeben. Notieren Sie sich die Parameter „type“ und „UUID“:
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      Dabei ist DC der Name des Rechenzentrums. In einer Installation mit einem einzelnen Rechenzentrum ist der Wert normalerweise „dc-1“.

  2. Registrieren Sie die neuen IP-Adressen mit einem der folgenden Befehle. Der erforderliche Befehl hängt vom Typ des geänderten Knotens ab.
    • Für type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • Für type="kms-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • Für type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. Löschen Sie alte Registrierungen für die UUID des Systems, auf dem die IP-Adresse geändert wurde. Führen Sie für jede dieser UUIDs Folgendes aus:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

IP-Adresse eines ZooKeeper-Knotens ändern

So ändern Sie die IP-Adresse eines ZooKeeper-Knotens:

IP-Adresse ändern und ZooKeeper-Ensemble neu starten (nur für Ensemble-Konfigurationen mit mehreren Knoten)

  1. Öffnen Sie /opt/apigee/apigee-zookeeper/conf/zoo.cfg in einem Editor. Sie sollten alle ZooKeeper-IP-Adressen und die Standardeinstellung im folgenden Format sehen:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    Speichern Sie diese Informationen.

  2. Bearbeiten Sie auf jedem ZooKeeper-Knoten die Datei /opt/apigee/customer/application/zookeeper.properties, um das Attribut conf_zoo_quorum auf die richtigen IP-Adressen festzulegen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    Achten Sie darauf, dass Sie nach jeder IP-Adresse „\n“ einfügen und dass die Einträge auf jedem Knoten in derselben Reihenfolge sind.

  3. Suchen Sie den Leader des ZooKeeper-Ensembles mit dem folgenden Befehl (ersetzen Sie node durch die IP-Adresse des ZooKeeper-Computers):
    echo srvr | nc node 2181

    In der Ausgabe sollte in der Zeile „Mode“ der Wert „leader“ stehen.

  4. Starten Sie einen ZooKeeper nach dem anderen neu. Beginnen Sie mit dem Leader und enden Sie mit dem Knoten, auf dem die IP-Adresse geändert wurde. Wenn mehr als ein ZooKeeper-Knoten die IP-Adresse geändert hat, müssen möglicherweise alle Knoten neu gestartet werden.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Verwenden Sie den oben beschriebenen Befehl echo, um jeden ZooKeeper-Knoten zu prüfen.

Apigee-Knoten über die geänderte Konfiguration informieren

  1. Bearbeiten Sie auf jedem Routerknoten die Datei /opt/apigee/customer/application/router.properties so: Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    • Ändern Sie den Parameter conf_zookeeper_connection.string, um die neue IP-Adresse einzuschließen.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host, um die neue IP-Adresse einzuschließen.
  2. Bearbeiten Sie auf jedem Message Processor-Knoten die Datei /opt/apigee/customer/application/message-processor.properties so: Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    • Ändern Sie den Parameter conf_zookeeper_connection.string so, dass er die neue IP-Adresse enthält.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host, um die neue IP-Adresse einzuschließen.
  3. Bearbeiten Sie auf dem Management Server-Knoten die Datei /opt/apigee/customer/application/management-server.properties so: Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    • Ändern Sie den Parameter conf_zookeeper_connection.string so, dass er die neue IP-Adresse enthält.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host, um die neue IP-Adresse einzuschließen.
  4. Starten Sie alle Apigee-Plattformkomponenten neu, indem Sie auf jedem Knoten den folgenden Befehl ausführen:
    /opt/apigee/apigee-service/bin/apigee-all restart

IP-Adresse eines LDAP-Servers (OpenLDAP) ändern

So ändern Sie die IP-Adresse eines OpenLDAP-Knotens:

  1. Bearbeiten Sie auf dem Management Server-Knoten die Datei /opt/apigee/customer/application/management-server.properties. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
  2. Legen Sie in der Datei management-server.properties den Parameter conf_security_ldap.server.host auf die neue IP-Adresse fest.
  3. Starten Sie den Verwaltungsserver neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

IP-Adresse anderer Apigee-Knotentypen ändern

So ändern Sie die IP-Adresse eines dieser Knotentypen (Router, Message Processor, Postgres-Server (nicht postgresql) und Qpid-Server (nicht qpidd):

  1. Verwenden Sie den folgenden curl-Befehl, um die neue interne und externe IP-Adresse zu registrieren:
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    Dabei ist uuid die UUID des Knotens.

Informationen zum Abrufen der UUID einer Komponente finden Sie unter UUIDs abrufen.