Es kann vorkommen, dass Sie ein Rechenzentrum außer Betrieb nehmen müssen. Wenn Sie beispielsweise ein Upgrade Ihres Betriebssystems durchführen, müssen Sie das neue Betriebssystem in einem neuen Rechenzentrum installieren und das alte Rechenzentrum außer Betrieb nehmen. In den folgenden Abschnitten wird ein Beispiel für die Außerbetriebnahme eines Rechenzentrums mit zwei Rechenzentren, dc-1 und dc-2, in einer Clusterinstallation mit 12 Knoten dargestellt:
- dc-1 ist das außer Betrieb genommene Rechenzentrum.
- dc-2 ist ein zweites Rechenzentrum, das bei der Außerbetriebnahme verwendet wird.
Wenn Sie ein Upgrade Ihres Betriebssystems ausführen, könnte dc-2 das Rechenzentrum sein, in dem Sie die neue Version des Betriebssystems (OS) installiert haben. Die Installation eines neuen Betriebssystems ist jedoch nicht erforderlich, um ein Rechenzentrum außer Betrieb zu nehmen.
Überlegungen vor der Außerbetriebnahme eines Rechenzentrums
Beachten Sie bei der Außerbetriebnahme eines Rechenzentrums die folgenden Punkte:
- Gesamten Laufzeit- und Verwaltungstraffic zum außer Betrieb genommenen Rechenzentrum blockieren und an andere Rechenzentren weiterleiten.
- Nach der Außerbetriebnahme des Rechenzentrums verringert sich die Kapazität in Ihrem Apigee-Cluster. Erhöhen Sie zum Ausgleich die Kapazität in den verbleibenden Rechenzentren oder fügen Sie nach der Außerbetriebnahme Rechenzentren hinzu.
- Während der Außerbetriebnahme kann es zu Analysedatenverlusten kommen, je nachdem, welche Analysekomponenten in dem außer Betrieb genommenen Rechenzentrum installiert sind. Weitere Informationen finden Sie unter Qpid-Knoten hinzufügen oder entfernen.
- Bevor Sie ein Rechenzentrum außer Betrieb nehmen, sollten Sie wissen, wie die Komponenten in allen Rechenzentren konfiguriert sind, insbesondere der OpenLDAP-, ZooKeeper-, Cassandra- und Postgres-Server. Sie sollten außerdem Sicherungen aller Komponenten und ihrer Konfigurationen erstellen.
Vorbereitung
- Verwaltungsserver: Alle Außerbetriebnahmeschritte hängen in hohem Maße vom Verwaltungsserver ab. Wenn nur ein Verwaltungsserver verfügbar ist, sollten Sie vor der Außerbetriebnahme des Verwaltungsservers auf dc-1 eine neue Verwaltungsserverkomponente in einem anderen Rechenzentrum als dc-1 installieren. Achten Sie darauf, dass immer einer der Verwaltungsserver verfügbar ist.
- Router: Deaktivieren Sie vor der Außerbetriebnahme eines Routers die Erreichbarkeit der Router, indem Sie den Port 15999 blockieren. Achten Sie darauf, dass kein Laufzeittraffic an die außer Betrieb genommenen Router geleitet wird.
Cassandra und ZooKeeper: In den folgenden Abschnitten wird beschrieben, wie dc-1 in einer Konfiguration mit zwei Rechenzentren außer Betrieb genommen wird. Wenn Sie mehr als zwei Rechenzentren haben, müssen Sie alle Verweise auf den außer Betrieb genommenen Knoten (in diesem Fall dc-1) aus allen stillen Konfigurationsdateien in allen verbleibenden Rechenzentren entfernen. Löschen Sie bei Cassandra-Knoten, die außer Betrieb genommen werden sollen, diese Hosts aus
CASS_HOSTS
. Die verbleibenden Cassandra-Knoten sollten in der ursprünglichen ReihenfolgeCASS_HOSTS
bleiben.Postgres: Wenn Sie den Postgres-Master außer Betrieb nehmen, müssen Sie jeden der verfügbaren Standby-Knoten als neuen Postgres-Master hochstufen. Während der QPID-Server einen Puffer in der Warteschlange behält, können Analysedaten verloren gehen, wenn der Postgres-Master längere Zeit nicht verfügbar ist.
Voraussetzungen
Bevor Sie eine Komponente außer Betrieb nehmen, sollten Sie eine vollständige Sicherung aller Knoten ausführen. Führen Sie die Sicherung mit dem Verfahren für Ihre aktuelle Edge-Version aus. Weitere Informationen zum Sichern finden Sie unter Sichern und Wiederherstellen.
Hinweis: Wenn Sie mehrere Cassandra- oder ZooKeeper-Knoten haben, sichern Sie diese nacheinander, da der Sicherungsprozess ZooKeeper vorübergehend heruntergefahren wird.
- Prüfen Sie vor der Außerbetriebnahme, ob Edge ausgeführt wird. Verwenden Sie dazu den folgenden Befehl:
/opt/apigee/apigee-service/bin/apigee-all status
- Achten Sie darauf, dass derzeit kein Laufzeittraffic im Rechenzentrum eintrifft, das Sie außer Betrieb nehmen.
Reihenfolge der Außerbetriebnahmekomponenten
Wenn Sie Edge for Private Cloud auf mehreren Knoten installieren, sollten Sie Edge-Komponenten auf diesen Knoten in der folgenden Reihenfolge außer Betrieb nehmen:
- Edge-UI (edge-ui)
- Management Server (Edge-Management-Server)
- OpenLDAP (apigee-openldap)
- Router (Edge-Router)
- Message Processor (Edge-Message-processor)
- Qpid-Server und Qpidd (edge-qpid-server und apigee-qpidd)
- Postgres- und PostgreSQL-Datenbank (Edge-Postgres-Server und Apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
In den folgenden Abschnitten wird erläutert, wie die einzelnen Komponenten außer Betrieb genommen werden.
Edge-Benutzeroberfläche
Geben Sie die folgenden Befehle ein, um die Edge-UI-Komponente von dc-1 zu beenden und zu deinstallieren:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
Verwaltungsserver
Führen Sie die folgenden Schritte aus, um den Management Server auf dc-1 außer Betrieb zu nehmen:
- Beenden Sie den Verwaltungsserver auf dc-1:
apigee-service edge-management-server stop
- Suchen Sie die UUID des in dc-1 registrierten Management Servers:
curl -u <AdminEmailID>:'<AdminPassword>' \ -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- Registrierung des Servertyps aufheben:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Löschen Sie den Server. Hinweis:Wenn auch andere Komponenten auf diesem Server installiert sind, heben Sie die Registrierung aller Komponenten auf, bevor Sie die UUID löschen.
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Deinstallieren Sie die Management Server-Komponente auf dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
LDAP öffnen
In diesem Abschnitt wird erläutert, wie OpenLDAP auf dc-1 außer Betrieb genommen wird.
Hinweis: Wenn Sie mehr als zwei Rechenzentren haben, lesen Sie den Abschnitt Einrichtungen mit mehr als zwei Rechenzentren weiter unten.
Führen Sie die folgenden Schritte aus, um OpenLDAP auf dc-1 außer Betrieb zu nehmen:
- Sichern Sie den OpenLDAP-Knoten „dc-1“. Folgen Sie dazu der Anleitung unter Sicherung läuft.
Unterbrechen Sie die Datenreplikation zwischen den beiden Rechenzentren dc-1 und dc-2, indem Sie die folgenden Schritte in beiden Rechenzentren ausführen.
- Prüfe den aktuellen Status:
ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl
Die Ausgabe sollte in etwa so aussehen:
olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- Erstellen Sie eine Datei
break_repl.ldif
, die die folgenden Befehle enthält:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
- Führen Sie den Befehl
ldapmodify
aus:ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif
Die Ausgabe sollte in etwa so aussehen:
modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- Prüfe den aktuellen Status:
Sie können überprüfen, ob dc-2 nicht mehr auf dc-1 repliziert wird. Dazu erstellen Sie einen Eintrag in dc-2 LDAP und achten Sie darauf, dass er nicht im LDAP von dc-1 angezeigt wird.
Optional können Sie die folgenden Schritte ausführen, um einen Nutzer mit Lesezugriff im OpenLDAP-Knoten „dc-2“ zu erstellen und dann zu prüfen, ob der Nutzer repliziert wurde. Der Nutzer wird anschließend gelöscht.
- Erstellen Sie in dc-2 eine Datei
readonly-user.ldif
mit folgendem Inhalt:dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top cn: readonly-user sn: readonly-user userPassword: {testPassword}
- Fügen Sie einen Nutzer mit dem Befehl „ldapadd“ in dc-2 hinzu:
ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif
Die Ausgabe sieht in etwa so aus:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Suchen Sie in dc-1 nach dem Nutzer, um sicherzustellen, dass der Nutzer nicht repliziert wird. Wenn der Nutzer nicht in dc-1 vorhanden ist, sorgen Sie dafür, dass beide LDAPs nicht mehr replizieren:
ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL
Die Ausgabe sollte in etwa so aussehen:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- Entfernen Sie den Nutzer mit Lesezugriff, den Sie zuvor hinzugefügt haben:
ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Erstellen Sie in dc-2 eine Datei
- Beenden Sie OpenLDAP in dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Deinstallieren Sie die OpenLDAP-Komponente auf dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Router
In diesem Abschnitt wird erläutert, wie Sie einen Router außer Betrieb nehmen. Weitere Informationen zum Entfernen des Routers finden Sie unter Server entfernen.
Mit den folgenden Schritten wird der Router von dc-1 außer Betrieb genommen. Wenn in dc-1 mehrere Router-Knoten konfiguriert sind, führen Sie die Schritte in allen Router-Knoten nacheinander aus.
Hinweis: Hier wird davon ausgegangen, dass der Systemdiagnose-Port 15999 des Routers in Ihrem Load-Balancer konfiguriert ist und das Blockieren von Port 15999 den Router nicht erreichbar macht. Möglicherweise benötigen Sie Root-Zugriff, um den Port zu blockieren.
Führen Sie die folgenden Schritte aus, um einen Router außer Betrieb zu nehmen:
Deaktivieren Sie die Erreichbarkeit der Router, indem Sie Port 15999, den Port für die Systemdiagnose, blockieren. Achten Sie darauf, dass Laufzeittraffic in diesem Rechenzentrum blockiert wird:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Prüfen Sie, ob der Router erreichbar ist:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable
Die Ausgabe sollte in etwa so aussehen:
About to connect() to 10.126.0.160 port 15999 (#0) Trying 10.126.0.160... Connection refused Failed connect to 10.126.0.160:15999; Connection refused Closing connection 0 curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
- Rufen Sie die UUID des Routers ab, wie unter UUIDs abrufen beschrieben.
- Beenden Sie den Router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Listen Sie die verfügbaren Gateway-Pods in der Organisation mit dem folgenden Befehl auf:
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
Siehe Informationen zu Pods.
- Heben Sie die Registrierung des Servertyps auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Registrierung des Servers aufheben:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Deinstallieren Sie
edge-router
:/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
Weitere Informationen finden Sie unter Server entfernen. - Leeren Sie
iptables
-Regeln, um den blockierten Port 15999 zu aktivieren:iptables -F
Message Processor
In diesem Abschnitt wird beschrieben, wie Sie den Message Processor von dc-1 außer Betrieb nehmen. Weitere Informationen zum Entfernen des Message Processor finden Sie unter Server entfernen.
Da wir davon ausgehen, dass dc-1 eine Clusterinstallation mit 12 Knoten hat, sind in dc-1 zwei Message Processor-Knoten konfiguriert. Führen Sie in beiden Knoten die folgenden Befehle aus.
- Rufen Sie die UUIDs der Message Processor ab, wie unter UUIDs abrufen beschrieben.
- Beenden Sie den Message Processor:
apigee-service edge-message-processor stop
- Heben Sie die Registrierung des Servertyps auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"/pre>
- Disassociate an environment from the Message Processor.
Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.
curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:'
' \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID" - Heben Sie die Registrierung des Servertyps auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Deinstallieren Sie den Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- Registrierung des Servers aufheben:
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID
Qpid-Server und Qpidd
In diesem Abschnitt wird erläutert, wie Qpid-Server (edge-qpid-server
) und Qpidd (apigee-qpidd
) außer Betrieb genommen werden. Da in dc-1 zwei Qpid-Knoten konfiguriert sind, müssen Sie die folgenden Schritte für beide Knoten ausführen:
- Rufen Sie die UUID für Qpidd ab, wie unter UUIDs abrufen beschrieben.
- Haltestelle
edge-qpid-server
undapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Liste der Analytics- und Verbrauchergruppen abrufen:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Qpid aus der Verbrauchergruppe entfernen:
curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json" -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
- Qpid aus der Analysegruppe entfernen:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
- Heben Sie die Registrierung des Qpid-Servers bei der Edge-Installation auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Entfernen Sie den Qpid-Server aus der Edge-Installation:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Starten Sie alle Edge-QPID-Server-Komponenten auf allen Knoten neu, damit die Änderung von diesen Komponenten übernommen wird:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- Deinstallieren Sie „edge-qpid-server“ und „apigee-qpidd“:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres und Postgresql
Das Rechenzentrum, das Sie außer Betrieb nehmen, kann einen Postgres-Master oder einen Postgres-Standby-Modus haben. In den folgenden Abschnitten wird die Außerbetriebnahme erläutert:
Außerbetriebnahme des Postgres-Masters
Hinweis:Wenn Sie den Postgres-Master außer Betrieb nehmen, müssen Sie jeden der verfügbaren Standby-Knoten als neuen Postgres-Master hochstufen. Während die QPID-Pufferdaten Pufferdaten einräumen, können Analysedaten verloren gehen, wenn der Postgres-Master längere Zeit nicht verfügbar ist.
So stellen Sie den Postgres-Master außer Betrieb:
- Sichern Sie den dc-1 Postgres-Masterknoten, indem Sie der Anleitung unter den folgenden Links folgen:
- Rufen Sie die UUIDs der Postgres-Server ab, wie unter UUIDs abrufen beschrieben.
- Beenden Sie auf dc-1
edge-postgres-server
undapigee-postgresql
auf dem aktuellen Master:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Geben Sie auf dem Standby-Knoten auf dc-2 den folgenden Befehl ein, um ihn zum Masterknoten zu machen:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
Hinweis:Wenn Sie mehrere Standby-Postgres-Knoten haben, müssen Sie Hosteinträge auf dem neuen Master hinzufügen und die Replikationseinstellung für alle verfügbaren Postgres-Standby-Knoten aktualisieren.
So fügen Sie dem neuen Postgres-Master Hosteinträge hinzu: Führen Sie die Schritte im entsprechenden Abschnitt aus:
Wenn nur ein Standby-Knoten übrig ist
Angenommen, vor der Außerbetriebnahme wurden drei Postgres-Knoten konfiguriert. Sie haben den vorhandenen Master außer Betrieb genommen und einen der verbleibenden Postgres-Standby-Knoten zum Master hochgestuft. Konfigurieren Sie den verbleibenden Standby-Knoten mit den folgenden Schritten:
- Legen Sie auf dem neuen Master für die Konfigurationsdatei Folgendes fest:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- Aktivieren Sie die Replikation auf dem neuen Master:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Wenn mehr als ein Standby-Knoten übrig ist
- Fügen Sie in
/opt/apigee/customer/application/postgresql.properties
die folgende Konfiguration hinzu:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- Achten Sie darauf, dass die Datei /opt/apigee/customer/application/postgresql.properties dem Apigee-Nutzer gehört:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
apigee-postgresql
neu starten:apigee-service apigee-postgresql restart
- Ändern Sie die Konfigurationsdatei
/opt/silent.conf
und aktualisieren Sie das FeldPG_MASTER
mit der IP-Adresse des neuen Postgres-Masters. - Entfernen Sie alle alten Postgres-Daten mit dem folgenden Befehl:
rm -rf /opt/apigee/data/apigee-postgresql/
- Richten Sie die Replikation auf dem Standby-Knoten ein:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Prüfen Sie, ob der Postgres-Master ordnungsgemäß eingerichtet ist. Geben Sie dazu den folgenden Befehl in dc-2 ein:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Postgresql-Server aus der Analyse- und der Verbrauchergruppe entfernen und hinzufügen.
- Entfernen Sie den alten Postgres-Server aus der Analysegruppe. Folgen Sie dazu der Anleitung unter Postgres-Server aus einer Analysegruppe entfernen.
- Fügen Sie der Analysegruppe einen neuen Postgres-Server hinzu. Folgen Sie dazu der Anleitung unter Vorhandenen Postgres-Server zu einer Analysegruppe hinzufügen.
- Heben Sie die Registrierung des alten Postgres-Servers bei dc-1 auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"<
- Löschen Sie den alten Postgres-Server aus dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Der alte Postgres-Master kann jetzt außer Betrieb genommen werden.
edge-postgres-server
undapigee-postgresql
deinstallieren:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
So aktualisieren Sie Replikationseinstellungen auf einem Standby-Knoten:
Postgres-Standby außer Betrieb nehmen
Hinweis: In der Dokumentation für eine geclusterte Installation mit 12 Knoten wird der dc-1-postgresql-Knoten als Master gezeigt. Der Einfachheit halber wird in diesem Abschnitt jedoch davon ausgegangen, dass der dc-1-postgresql-Knoten ein Standby-Knoten und der dc-2-postgresql-Knoten ein Master ist.
Führen Sie die folgenden Schritte aus, um Postgres-Standby außer Betrieb zu nehmen:
- Rufen Sie die UUIDs der Postgres-Server ab. Folgen Sie dazu der Anleitung unter UUIDs abrufen.
- Beenden Sie
apigee-postgresql
auf dem aktuellen Stand-by-Knoten in dc-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Postgresql-Server aus der Analyse- und der Verbrauchergruppe entfernen und hinzufügen.
- Entfernen Sie den alten Postgres-Server aus der Analysegruppe. Folgen Sie dazu der Anleitung unter Postgres-Server aus einer Analysegruppe entfernen.
- Fügen Sie der Analysegruppe einen neuen Postgres-Server hinzu. Folgen Sie dazu der Anleitung unter Vorhandenen Postgres-Server zu einer Analysegruppe hinzufügen.
- Heben Sie die Registrierung des alten Postgres-Servers bei dc-1 auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"<
- Löschen Sie den alten Postgres-Server aus dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Der alte Postgres-Master kann jetzt außer Betrieb genommen werden.
edge-postgres-server
undapigee-postgresql
deinstallieren:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
ZooKeeper und Cassandra
In diesem Abschnitt wird erläutert, wie ZooKeeper- und Cassandra-Server in einer Konfiguration mit zwei Rechenzentren außer Betrieb genommen werden.
Wenn Sie mehr als zwei Rechenzentren haben, müssen Sie alle Verweise auf den außer Betrieb genommenen Knoten (in diesem Fall dc-1) aus allen stillen Konfigurationsdateien in allen verbleibenden Rechenzentren entfernen. Löschen Sie bei Cassandra-Knoten, die außer Betrieb genommen werden sollen, diese Hosts aus
CASS_HOSTS
. Die verbleibenden Cassandra-Knoten sollten in der ursprünglichen ReihenfolgeCASS_HOSTS
bleiben.Hinweis zu ZooKeeper:Damit das ZooKeeper-Ensemble funktioniert, müssen Sie ein Quorum von Wählerknoten beibehalten, während Sie die Eigenschaft
ZK_HOST
in der Konfigurationsdatei ändern. Ihre Konfiguration muss eine ungerade Anzahl von Voterknoten enthalten. Weitere Informationen finden Sie unter Apache ZooKeeper-Wartungsaufgaben.So setzen Sie ZooKeeper- und Cassandra-Server außer Betrieb:
- Sichern Sie die Cassandra- und ZooKeeper-Knoten von dc-1, indem Sie den Anweisungen unter den folgenden Links folgen:
Listen Sie die UUIDs der ZooKeeper- und Cassandra-Server in dem Rechenzentrum auf, in dem die Cassandra-Knoten außer Betrieb genommen werden sollen.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- Heben Sie die Registrierung des Servertyps auf:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Registrierung des Servers aufheben:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Aktualisieren Sie die Konfigurationsdatei mit den IP-Adressen der außer Betrieb genommenen Knoten, die aus
ZK_HOSTS
undCASS_HOSTS
entfernt wurden.Beispiel: Angenommen, Sie haben die IP-Adressen
$IP1 $IP2 $IP3
in dc-1 und$IP4 $IP5 $IP6
in dc-2 und stellen dc-1 außer Betrieb. Anschließend sollten Sie die IP-Adressen$IP1 $IP2 $IP3
aus den Konfigurationsdateien entfernen.- Vorhandene Konfigurationsdateieinträge:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
- Neue Einträge in der Konfigurationsdatei:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- Vorhandene Konfigurationsdateieinträge:
- Aktualisieren Sie die in Schritt e geänderte Konfigurationsdatei für die stille Konfiguration mit den IP-Adressen der entfernten außer Betrieb genommenen Knoten und führen Sie das Serverprofil für die Verwaltung auf allen Knoten aus, die Verwaltungsserver hosten:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- Aktualisieren Sie die Konfigurationsdatei mit den IP-Adressen der entfernten stillgelegten Knoten und führen Sie das MP/RMP-Profil auf allen Router- und Message Processor-Knoten aus:
- Wenn Edge Router und Message Processor auf demselben Knoten konfiguriert sind, geben Sie Folgendes ein:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
Wenn Edge Router und Message Processor auf separaten Knoten konfiguriert sind, geben Sie Folgendes ein:
Für den Router:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
Für den Message Processor:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- Wenn Edge Router und Message Processor auf demselben Knoten konfiguriert sind, geben Sie Folgendes ein:
- Konfigurieren Sie alle Qpid-Knoten neu und entfernen Sie die IP-Adressen der außer Betrieb genommenen Knoten aus der Antwortdatei:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Konfigurieren Sie alle Postgres-Knoten neu, wobei die IP-Adressen außer Betrieb genommener Knoten aus der Antwortdatei entfernt werden:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
system_auth
-Tastenbereich ändern. Wenn Sie Cassandra Auth auf einem vorhandenen Cassandra-Knoten aktiviert haben, aktualisieren Sie den Replikationsfaktor des Schlüsselbereichssystem_auth
mit dem folgenden Befehl:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
Dieser Befehl setzt den Replikationsfaktor auf
'3'
und gibt drei Cassandra-Knoten im Cluster an. Ändern Sie diesen Wert bei Bedarf ab.Nach Abschluss dieses Schritts sollte die Cassandra-Topologie in keinem der Schlüsselräume
dc-1
enthalten.- Außerbetriebnahme der Cassandra-Knoten auf dc-1 nacheinander
Geben Sie den folgenden Befehl ein, um die Cassandra-Knoten außer Betrieb zu nehmen:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- Prüfen Sie die Verbindung der Cassandra-Knoten von dc-1 mit einem der folgenden Befehle:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
Oder sekundärer Verifizierungsbefehl, der auf dem außer Betrieb genommenen Knoten ausgeführt werden soll:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
Der obige Befehl sollte Folgendes zurückgeben:
Mode: DECOMMISSIONED
- Führen Sie das DS-Profil für alle Cassandra- und ZooKeeper-Knoten in dc-2 aus:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- Beenden Sie
apigee-cassandra
undapigee-zookeeper
in dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- Deinstallieren Sie
apigee-cassandra
undapigee-zookeeper
in dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
Bindungen aus dc-1 löschen
So löschen Sie die Bindungen von dc-1:
- Löschen Sie die Bindungen von dc-1.
- Listen Sie alle verfügbaren Pods der Organisation auf:
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- Wenn Sie prüfen möchten, ob alle Bindungen entfernt wurden, rufen Sie die UUIDs der Server ab, die den Pods zugeordnet sind:
curl -v -u <AdminEmailID>:<AdminPassword> \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
Wenn dieser Befehl keine UUIDs zurückgibt, wurden mit den vorherigen Schritten alle Bindungen entfernt und Sie können den nächsten Schritt überspringen. Andernfalls führen Sie den nächsten Schritt aus.
- Entfernen Sie alle Serverbindungen für die UUIDs, die im vorherigen Schritt abgerufen wurden:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Verknüpfung der Organisation vom Pod aufheben:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- Listen Sie alle verfügbaren Pods der Organisation auf:
- Löschen Sie die Pods:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- Löschen Sie die Region.
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
Hinweis: Wenn Sie einen der Schritte zum Löschen der Server verpassen, wird durch den obigen Schritt die Fehlermeldung zurückgegeben, dass ein bestimmter Server im Pod noch vorhanden ist. Löschen Sie sie daher mithilfe der folgenden Schritte zur Fehlerbehebung und passen Sie die Typen im Befehl
curl
an.Sie haben die Außerbetriebnahme von dc-1 abgeschlossen.
Anhang
Fehlerbehebung
Wenn sich nach dem Ausführen der vorherigen Schritte noch Server in einigen Pods befinden, führen Sie die folgenden Schritte aus, um die Registrierung der Server aufzuheben und sie zu löschen. Hinweis:Ändern Sie bei Bedarf die Typen und den Pod.
- Rufen Sie die UUIDs mit dem folgenden Befehl ab:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- Registrierung des Servertyps aufheben:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- Löschen Sie die Server einzeln:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
Validierung
Sie können die Außerbetriebnahme mit den folgenden Befehlen prüfen.
Verwaltungsserver
Führen Sie auf den Verwaltungsservern die folgenden Befehle in allen Regionen aus.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
Führen Sie den folgenden Befehl für alle Komponenten aus, um die Portanforderungen für alle Verwaltungsports zu prüfen.
curl -v http://MS_IP:8080/v1/servers/self
Überprüfen Sie die Analysegruppe.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus" curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
Cassandra/ZooKeeper-Knoten
Geben Sie auf allen Cassandra-Knoten Folgendes ein:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Dadurch wird der Status
running
odernot running
für diesen Knoten zurückgegeben.Geben Sie auf einem Knoten Folgendes ein:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
Mit den obigen Befehlen werden Informationen zu aktiven Rechenzentren zurückgegeben.
Geben Sie auf ZooKeeper-Knoten zuerst Folgendes ein:
echo ruok | nc <host> 2181
Dieser Befehl gibt
imok
zurück.Geben Sie als Nächstes Folgendes ein:
echo stat | nc <host> 2181 | grep Mode
Der vom obigen Befehl zurückgegebene Wert von
Mode
ist einer der folgenden:observer
,leader
oderfollower
.In einem ZooKeeper-Knoten:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
Führen Sie auf dem Postgres-Masterknoten folgenden Befehl aus:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Prüfen Sie, ob in der Antwort angegeben ist, dass der Knoten der Master ist.
Auf dem Standby-Knoten:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Prüfen Sie, ob in der Antwort angegeben ist, dass der Knoten der Standby-Knoten ist.
Mit dem Befehl in der PostgreSQL-Datenbank anmelden
psql -h localhost -d apigee -U postgres
Wenn Sie dazu aufgefordert werden, geben Sie das Nutzerpasswort "postgres" als
'postgres'
ein. Wählemax(client_received_start_timestamp)
in Analytics aus.”$org.$env.fact” limit 1
;Logs
Prüfen Sie die Protokolle der Komponenten auf Fehler.
- Legen Sie auf dem neuen Master für die Konfigurationsdatei Folgendes fest: