Apigee-Server verschieben

Das Verschieben von Komponenten von einem Rechner auf einen anderen kann zu nicht übereinstimmenden Konfigurationen führen, wenn Sie die IP-Adressen in den Komponentenkonfigurationsdateien nicht synchronisieren.

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

IP-Adressen im Vergleich zu Hostnamen

Sie sollten in Ihren Komponentenkonfigurationsdateien IP-Adressen anstelle von Hostnamen verwenden.

Bei einigen Komponentenkonfigurationsdateien können Sie anstelle von IP-Adressen 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.

Daher empfiehlt Apigee dringend, IP-Adressen für alle Komponentenkonfigurationen zu verwenden. In einigen Fällen, z. B. bei Cassandra, müssen Sie IP-Adressen verwenden, keine Hostnamen. 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 beim Verschieben von Apigee-Servern:

Szenario Auswirkungen auf das Verschieben von Servern
Änderung der IP-Adresse Alle zugehörigen Dateien aktualisieren, die auf die ursprüngliche IP-Adresse verweisen
Änderung des Hostnamens ohne Änderung der IP-Adresse Keine Auswirkung
Änderung des Hostnamens bei Ä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 System, das geändert wird. 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. Dadurch kann Cassandra Thrift alle Schnittstellen überwachen.
  3. Öffnen Sie /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in einem Editor. Die alte IP-Adresse und die Standardeinstellung sollten im folgenden Format angezeigt werden:
    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 durch die neue IP-Adresse zu ändern:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Achten Sie darauf, nach der IP-Adresse „\n“ einzufügen, und legen Sie dieselben Standardeinstellungen wie oben in Schritt 3 fest.

  5. Starten Sie Cassandra neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Falls erforderlich, reparieren Sie auch ZooKeeper (siehe IP-Adresse eines ZooKeeper-Knotens ändern). Andernfalls starten Sie alle Apigee-Plattformkomponenten neu, beginnend mit dem Verwaltungsserver.

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

  1. Wenn der zu ändernde Knoten ein Startknoten ist, bearbeiten Sie die Datei /opt/apigee/customer/application/cassandra.properties in jedem System im Ring und ändern Sie den Parameter conf_cassandra_seeds so, dass die neue IP-Adresse des geänderten Systems enthalten ist. Wenn die Datei cassandra.properties nicht vorhanden ist, erstellen Sie sie.
  2. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties auf dem System, das geändert wird, und ändern Sie die folgenden Parameter:
    • Legen Sie für conf_cassandra_listen_address fest, dass die neue IP-Adresse verwendet wird.
    • Legen Sie für conf_cassandra_rpc_address fest, dass entweder die neue IP-Adresse oder „0.0.0.0“ verwendet wird. Dadurch kann Cassandra Thrift alle Schnittstellen überwachen.
  3. Öffnen Sie /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in einem Editor. Alle Cassandra-IP-Adressen und die Standardeinstellungen sollten im Format
    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
    angezeigt werden.

    Speichern Sie diese Informationen.

  4. Bearbeiten Sie /opt/apigee/customer/application/cassandra.properties, um die alte IP-Adresse durch 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

    Achten Sie darauf, nach jeder IP-Adresse „\n“ einzufügen, und verwenden Sie dieselben Standardeinstellungen wie oben in Schritt 3.

  5. Starten Sie Cassandra auf dem geänderten System neu.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Wiederholen Sie für alle anderen Knoten die in den Schritten 3 und 4 vorgenommenen Änderungen, um sie über die Position dieses Knotens im Cassandra-Ring zu informieren. Ändern Sie außerdem die IP-Adresse des Startknotens, wie in Schritt 1 beschrieben.
  7. Starten Sie jeden verbleibenden Cassandra-Knoten einzeln neu.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Führen Sie den Befehl nodetool ring auf dem geänderten Knoten aus, um sicherzustellen, dass der Ring abgeschlossen ist. Das Dienstprogramm finden Sie unter /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring
  9. Führen Sie nodetool repair auf dem geänderten Knoten aus. Beachten Sie, dass dieser Vorgang einige Zeit dauern kann. Daher wird dringend empfohlen, dies nicht während Spitzenzeiten für den API-Traffic durchzuführen.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Reparieren Sie bei Bedarf ZooKeeper (siehe IP-Adresse eines ZooKeeper-Knotens ändern) und starten Sie dann jede Apigee-Plattformkomponente neu, beginnend mit dem Management Server.

Datenspeicherregistrierungen aktualisieren

  1. Ermitteln Sie mit den folgenden Befehlen die UUIDs der 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 einzelnen Rechenzentrumsinstallation lautet der Wert typischerweise „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 jedes dieser UUIDs-Probleme folgende Schritte aus:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

IP-Adresse eines ZooKeeper-Knotens ändern

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

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 Standardeinstellungen 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 in 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 die Einträge auf jedem Knoten in derselben Reihenfolge sind.

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

    Die Mode-Zeile in der Ausgabe sollte „leader“ lauten.

  4. Starten Sie einen ZooKeeper nach dem anderen neu. Beginnen Sie dabei mit dem Leader und endet mit dem Knoten, auf dem die IP-Adresse geändert wurde. Wenn mehrere Zookeeper-Knoten die IP-Adressen geändert haben, müssen möglicherweise alle Knoten neu gestartet werden.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Überprüfen Sie jeden ZooKeeper-Knoten mit dem oben beschriebenen echo-Befehl.

Apigee-Knoten über die geänderte Konfiguration informieren

  1. Bearbeiten Sie die Datei /opt/apigee/customer/application/router.properties auf jedem Routerknoten so. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    • Ändern Sie den Parameter conf_zookeeper_connection.string so, dass die neue IP-Adresse enthalten ist.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host so, dass die neue IP-Adresse enthalten ist.
  2. Bearbeiten Sie die Datei /opt/apigee/customer/application/message-processor.properties auf jedem Message Processor-Knoten 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 so, dass die neue IP-Adresse enthalten ist.
  3. Bearbeiten Sie auf dem Knoten des Verwaltungsservers 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 so, dass die neue IP-Adresse enthalten ist.
  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 ändern (OpenLDAP)

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

  1. Bearbeiten Sie auf dem Knoten des Verwaltungsservers 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.

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