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

Verwenden Sie in den Konfigurationsdateien Ihrer Komponenten IP-Adressen anstelle von Hostnamen.

In einigen Konfigurationsdateien für Komponenten können Sie Hostnamen anstelle von IP-Adressen verwenden. Die Verwendung von Hostnamen kann die Fehlerbehebung jedoch erschweren. Hostnamen können beispielsweise die Ursache für Probleme im Zusammenhang mit der DNS-Serververbindung, Lookup-Fehlern 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 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 der Migration von Apigee-Servern die Auswirkungen der folgenden Szenarien für Hostnamen und IP-Adressen:

Szenario Auswirkungen auf das Verschieben von Servern
Änderung der IP-Adresse Aktualisieren Sie alle zugehörigen Dateien, die auf die ursprüngliche IP-Adresse verweisen.
Hostname ändern, ohne die IP-Adresse zu ändern Keine Auswirkungen
Hostname-Änderung bei Änderung der IP-Adresse Entspricht einer Änderung der IP-Adresse

IP-Adresse eines Cassandra-Knotens ändern

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

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, sodass entweder die neue IP-Adresse oder 0.0.0.0 verwendet wird. Dadurch kann Cassandra Thrift auf allen Schnittstellen lauschen.
  3. Öffnen Sie /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in einem Editor. Im Formular sollten Sie die alte IP-Adresse und die Standardeinstellung 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

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

  5. Starten Sie Cassandra neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Reparieren Sie bei Bedarf auch ZooKeeper (siehe IP-Adresse eines ZooKeeper-Knotens ändern). Andernfalls starten Sie jede Apigee-Plattformkomponente 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 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 zu ändernden System und ändern Sie die folgenden Parameter:
    • Legen Sie conf_cassandra_listen_address so fest, dass die neue IP-Adresse verwendet wird.
    • Legen Sie conf_cassandra_rpc_address entweder auf die neue IP-Adresse oder auf „0.0.0.0“ fest (damit Cassandra Thrift auf allen Schnittstellen lauschen kann).
  3. Öffnen Sie /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in einem Editor. Sie sollten alle Cassandra-IP-Adressen und die Standardeinstellung in folgendem 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

    Achten Sie darauf, dass Sie nach jeder IP-Adresse „\n“ einfügen und dieselben Standardeinstellungen verwenden, die Sie oben in Schritt 3 angegeben haben.

  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 Änderungen aus Schritt 3 und 4, um sie über die Position dieses Knotens im Cassandra-Ring zu informieren. Ändern Sie außerdem die IP-Adresse des Seed-Knotens, 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 vollständig ist. Das Tool 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. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Es wird daher dringend empfohlen, ihn nicht während der Stoßzeiten des API-Traffics durchzuführen.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Reparieren Sie ZooKeeper bei Bedarf (siehe IP-Adresse eines ZooKeeper-Knotens ändern) und starten Sie dann jede Apigee-Plattformkomponente neu, beginnend mit dem Management Server.

Datenspeicherregistrierungen aktualisieren

  1. Suchen Sie mit den folgenden Befehlen nach den UUIDs von Datenspeicherregistrierungen, in denen die alte IP-Adresse angegeben ist. 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 in einem einzelnen Rechenzentrum ist der Wert in der Regel „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 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 in folgendem 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 stehen.

  3. Ermitteln 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 Zeile „Mode“ in der Ausgabe sollte „leader“ stehen.

  4. Starten Sie die ZooKeepers nacheinander neu, beginnend mit dem Leader und endend mit dem Knoten, auf dem die IP-Adresse geändert wurde. Wenn sich die IP-Adressen von mehr als einem Zookeeper-Knoten geändert haben, müssen Sie möglicherweise alle Knoten neu starten.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Verwenden Sie den oben beschriebenen Befehl echo, um jeden ZooKeeper-Knoten zu überprü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, sodass er die neue IP-Adresse enthält.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host, sodass er die neue IP-Adresse enthält.
  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, sodass er die neue IP-Adresse enthält.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host, sodass er die neue IP-Adresse enthält.
  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, sodass er die neue IP-Adresse enthält.
    • Ändern Sie den Parameter conf_zookeeper_zk1.host, sodass er die neue IP-Adresse enthält.
  4. Starten Sie alle Apigee-Plattformkomponenten neu, indem Sie den folgenden Befehl auf jedem Knoten ausführen:
    /opt/apigee/apigee-service/bin/apigee-all restart

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

So ändern Sie die IP-Adresse eines SymasLDAP-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.