Może się zdarzyć, że konieczne będzie wyłączenie centrum danych. Jeśli na przykład uaktualniasz system operacyjny, musisz zainstalować nowy system w nowym centrum danych, a potem wyłączyć dotychczasowe centrum danych. W poniższych sekcjach znajdziesz przykład wyłączenia centrum danych, które w układzie klastrowym z 12 węzłami ma 2 centra danych – dc-1 i dc-2:
- dc-1 to centrum danych, które ma zostać wycofane.
- dc-2 to drugie centrum danych, które jest wykorzystywane w procesie wyłączenia.
Jeśli aktualizujesz system operacyjny, dc-2 może być centrum danych, w którym masz zainstalowaną nową wersję systemu operacyjnego. Instalacja nowego systemu operacyjnego nie jest jednak wymagana do wyłączenia centrum danych.
Uwagi do rozważenia przed wyłączeniem centrum danych
Przy wycofywaniu centrum danych pamiętaj o tych uwagach:
- Blokuj cały ruch związany ze środowiskiem wykonawczym i zarządzaniem do wycofywanego centrum danych i przekierowuj go do innych centrów danych.
- Po wyłączeniu centrum danych rozmiar klastra Apigee zmniejszy się. Aby to zrekompensować, zwiększ wydajność w pozostałych centrach danych lub dodaj centra danych po wyłączeniu tych centrów.
- W trakcie procesu wycofywania może nastąpić utrata danych analitycznych, w zależności od tego, które komponenty analityki są zainstalowane w wycofywanym centrum danych. Więcej informacji znajdziesz w artykule Dodawanie i usuwanie węzłów Qpid.
- Zanim wycofasz centrum danych, dowiedz się, jak są skonfigurowane wszystkie jego komponenty we wszystkich centrach danych, w szczególności serwery OpenLDAP, ZooKeeper, Cassandra i Postgres. Musisz też wykonać kopie zapasowe wszystkich komponentów i ich konfiguracji.
Zanim rozpoczniesz
- Serwer zarządzania: wszystkie kroki wycofania w dużym stopniu zależą od serwera zarządzania. Jeśli masz tylko 1 serwer zarządzania, zalecamy zainstalowanie nowego komponentu serwera zarządzania w centrum danych innego niż dc-1 przed wycofaniem serwera zarządzania z dc-1 i sprawdzenie, czy jeden z serwerów zarządzania jest zawsze dostępny.
- Router: przed zamknięciem routera wyłącz jego osiągalność, blokując port 15999. Sprawdź, czy do wycofywanych routerów nie jest kierowany żaden ruch środowiska wykonawczego.
Cassandra i ZooKeeper: w sekcjach poniżej opisano, jak wyłączyć dc-1 w konfiguracji dwóch centrów danych. Jeśli masz więcej niż 2 centra danych, usuń wszystkie odwołania do węzła wycofywanego (w tym przypadku dc-1) z wszystkich plików konfiguracji w trybie cichych we wszystkich pozostałych centrach danych. Jeśli węzły Cassandra mają zostać wycofane, usuń te hosty z
CASS_HOSTS
. Pozostałe węzły Cassandra powinny pozostać w pierwotnej kolejności:CASS_HOSTS
.Postgres: jeśli wycofujesz mastera Postgres, pamiętaj, aby awansować jeden z dostępnych węzłów gotowości jako nowy master postgres. Chociaż serwer QPID pozostawia bufor w kolejce, jeśli master Postgres jest niedostępny przez dłuższy czas, ryzykujesz utratę danych analitycznych.
Wymagania wstępne
Przed wyłączeniem dowolnego komponentu zalecamy wykonanie pełnej kopii zapasowej wszystkich węzłów. Wykonaj procedurę związaną z bieżącą wersją Edge, aby wykonać kopię zapasową. Więcej informacji o kopii zapasowej znajdziesz w artykule o tworzeniu i przywracaniu kopii zapasowej.
Uwaga: jeśli masz wiele węzłów Cassandra lub ZooKeeper, twórz ich kopie zapasowe pojedynczo, ponieważ proces tworzenia kopii zapasowej tymczasowo wyłącza ZooKeeper.
- Przed zamknięciem upewnij się, że usługa Edge jest uruchomiona, korzystając z polecenia:
/opt/apigee/apigee-service/bin/apigee-all status
- Sprawdź, czy do centrum danych, które wycofujesz, nie napływa obecnie żaden ruch w czasie działania.
Kolejność komponentów używanych do wyłączenia
Jeśli zainstalujesz Edge for Private Cloud w wielu węzłach, wycofuj komponenty Edge w tych węzłach w tej kolejności:
- Edge UI (edge-ui)
- Serwer zarządzania (edge-management-server)
- OpenLDAP (apigee-openldap)
- Router (router brzegowy)
- Procesor wiadomości (edge-message-processor)
- Qpid Server i Qpidd (edge-qpid-server i apigee-qpidd)
- Baza danych Postgres i PostgreSQL (edge-postgres-server i apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
W sekcjach poniżej wyjaśniamy, jak wyłączyć poszczególne komponenty.
Interfejs Edge
Aby zatrzymać i odinstalować komponent interfejsu Edge dla dc-1, wpisz te polecenia:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
Serwer zarządzania
Aby wyłączyć serwer zarządzania w dc-1, wykonaj te czynności:
- Zatrzymaj serwer zarządzania w dc-1:
apigee-service edge-management-server stop
- Znajdź identyfikator UUID serwera zarządzania zarejestrowanego w dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' \ -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- Wyrejestruj typ serwera:
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"
- Usuń serwer. Uwaga: jeśli na serwerze są też zainstalowane inne komponenty, najpierw wyrejestruj je wszystkie, zanim usuniesz identyfikator UUID.
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Odinstaluj komponent serwera zarządzania w dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Otwórz LDAP
W tej sekcji wyjaśniono, jak wyłączyć OpenLDAP w dc-1.
Uwaga: jeśli masz więcej niż 2 centra danych, zapoznaj się poniżej z sekcją Konfiguracje z więcej niż 2 centrami danych.
Aby wyłączyć OpenLDAP na dc-1, wykonaj te czynności:
- Utwórz kopię zapasową węzła OpenLDAP dc-1, wykonując czynności opisane w sekcji Tworzenie kopii zapasowej.
Przerwij replikację danych między 2 centrami danych dc-1 i dc-2, wykonując poniższe czynności w obu centrach.
- Sprawdź obecny stan:
ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl
Dane wyjściowe powinny być podobne do tych:
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
- Utwórz plik
break_repl.ldif
zawierający te polecenia:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
- Uruchom polecenie
ldapmodify
:ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif
Dane wyjściowe powinny być podobne do tych:
modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- Sprawdź obecny stan:
Aby sprawdzić, czy dc-2 nie jest już replikowana w dc-1, utwórz wpis w LDAP dc-2 i sprawdź, czy nie jest widoczny w LDAP dc-1.
Opcjonalnie możesz wykonać poniższe czynności, aby utworzyć użytkownika tylko do odczytu w węźle OpenLDAP dc-2, a następnie sprawdzić, czy użytkownik jest zreplikowany. Następnie zostanie usunięty.
- Utwórz w dc-2 plik
readonly-user.ldif
z tą zawartością: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}
- Dodaj użytkownika za pomocą polecenia `ldapadd` w dc-2:
ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif
Dane wyjściowe będą podobne do tych:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Wyszukaj użytkownika w dc-1, aby upewnić się, że nie zostanie zreplikowany. Jeśli użytkownika nie ma w dc-1, zyskasz pewność, że oba LDAP nie będą już replikować:
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
Dane wyjściowe powinny być podobne do tych:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- Usuń dodanego wcześniej użytkownika z dostępem tylko do odczytu:
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"
- Utwórz w dc-2 plik
- Zatrzymaj OpenLDAP w dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Odinstaluj komponent OpenLDAP w dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Router
W tej sekcji wyjaśniono, jak wyłączyć router. Więcej informacji o usuwaniu routera znajdziesz w sekcji Usuwanie serwera.
Wykonując poniższe kroki, wyłącz router dc-1. Jeśli w dc-1 jest skonfigurowanych kilka węzłów routera, wykonaj czynności we wszystkich węzłach routera, po jednym naraz
Uwaga: zakładamy, że w systemie równoważenia obciążenia skonfigurowano port kontroli stanu 15999 routera i że zablokowanie portu 15999 sprawi, że router będzie nieosiągalny. Aby zablokować port, możesz potrzebować dostępu na poziomie roota.
Aby wyłączyć router, wykonaj te czynności:
Wyłącz osiągalność routerów, blokując port 15999 (port kontroli stanu). Sprawdź, czy w tym centrum danych ruch w czasie działania jest zablokowany:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Upewnij się, że router jest osiągalny:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable
Dane wyjściowe powinny być podobne do tych:
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
- Uzyskaj UUID routera zgodnie z opisem w sekcji Uzyskiwanie identyfikatorów UUID.
- Zatrzymaj router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Wyświetl listę podów bramy dostępnych w organizacji za pomocą tego polecenia:
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
Zobacz Informacje o podach.
- Wyrejestruj typ serwera:
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"
- Usuń serwer:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Odinstaluj serwer
edge-router
:/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
Zobacz Usuwanie serwera. - Wyczyść reguły
iptables
, aby włączyć zablokowany port 15999:iptables -F
procesor komunikatów
W tej sekcji opisano, jak wyłączyć procesor wiadomości w dc-1. Więcej informacji o usuwaniu procesora wiadomości znajdziesz w artykule Usuwanie serwera.
Ponieważ zakładamy, że dc-1 ma instalację klastrową z 12 węzłami, w dc-1 są skonfigurowane 2 węzły procesora komunikatów. Wykonaj poniższe polecenia w obu węzłach.
- Uzyskaj identyfikatory UUID procesorów wiadomości zgodnie z opisem w artykule Uzyskiwanie identyfikatorów UUID.
- Zatrzymaj procesor wiadomości:
apigee-service edge-message-processor stop
- Wyrejestruj typ serwera:
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" - Wyrejestruj typ serwera:
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"
- Odinstaluj procesor wiadomości:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- Wyrejestruj serwer:
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID
Serwer Qpid i Qpidd
W tej sekcji wyjaśniamy, jak wyłączyć serwer Qpid (edge-qpid-server
) i Qpidd (apigee-qpidd
).
W dc-1 są skonfigurowane 2 węzły Qpid, dlatego w przypadku obu węzłów musisz wykonać te czynności:
- Uzyskaj identyfikator UUID aplikacji Qpidd zgodnie z opisem w sekcji Pobieranie identyfikatorów UUID.
- Zatrzymaj
edge-qpid-server
iapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Uzyskaj listę grup Analytics i grup konsumentów:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Usuń Qpid z grupy klientów:
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}"
- Usuń Qpid z grupy analitycznej:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
- Wyrejestruj serwer Qpid z instalacji Edge:
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"
- Usuń serwer Qpid z instalacji Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Ponownie uruchom wszystkie komponenty Edge-qpid-server na wszystkich węzłach, aby upewnić się, że te komponenty wykryły zmianę:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- Odinstaluj Edge-qpid-server i apigee-qpidd:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres i Postgresql
Centrum danych, które wycofujesz, może mieć instancję główną Postgres lub tryb gotowości Postgres. W sekcjach poniżej opisano, jak je wyłączyć:
Wycofuję instancję główną Postgres
Uwaga: jeśli wycofujesz mastera Postgres, pamiętaj, aby awansować jeden z dostępnych węzłów gotowości jako nowy master postgres. Kolejki QPID buforują dane, ale jeśli master Postgres jest przez dłuższy czas niedostępny, ryzykujesz utratę danych analitycznych.
Aby wyłączyć instancję główną Postgres:
- Utwórz kopię zapasową węzła głównego dc-1 Postgres, wykonując instrukcje podane w tych linkach:
- Uzyskaj identyfikatory UUID serwerów Postgres zgodnie z opisem w artykule Pobieranie identyfikatorów UUID.
- W przypadku dc-1 zatrzymaj
edge-postgres-server
iapigee-postgresql
w bieżącym wzorcu:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- W węźle gotowości dc-2 wpisz to polecenie, by ustawić go jako węzeł nadrzędny:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
Uwaga: jeśli masz więcej niż 1 gotowy węzeł Postgres, musisz dodać wpisy hosta w nowym masterze i zaktualizować ustawienie replikacji dla wszystkich dostępnych węzłów gotowości Postgres.
Aby dodać wpisy hosta do nowego mastera Postgres: wykonaj czynności opisane w odpowiedniej sekcji poniżej:
Jeśli pozostanie tylko 1 węzeł gotowości
Załóżmy na przykład, że przed zamknięciem zostały skonfigurowane 3 węzły Postgres. Istniejący master został wyłączony i awansowano na 1 z pozostałych węzłów gotowości Postgres do mastera. Aby skonfigurować pozostały węzeł gotowości, wykonaj te czynności:
- W nowym masterze zmodyfikuj plik konfiguracji, tak by ustawił:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- Włącz replikację w nowym masterze:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Jeśli pozostanie więcej niż 1 węzeł gotowości
- Dodaj tę konfigurację w zadaniu
/opt/apigee/customer/application/postgresql.properties
:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- Sprawdź, czy plik /opt/apigee/customer/application/postgresql.properties należy do użytkownika Apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- Uruchom ponownie
apigee-postgresql
:apigee-service apigee-postgresql restart
- Zmodyfikuj plik konfiguracji
/opt/silent.conf
i zaktualizuj polePG_MASTER
o adres IP nowego mastera Postgres. - Usuń wszystkie stare dane Postgres za pomocą tego polecenia:
rm -rf /opt/apigee/data/apigee-postgresql/
- Skonfiguruj replikację w węźle gotowości:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Sprawdź, czy master Postgres jest prawidłowo skonfigurowany, wpisując w dc-2 to polecenie:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Usuń serwery Postgresql i dodaj je z grupy Analytics i grupy konsumentów.
- Usuń z grupy Analytics stary serwer Postgres, wykonując instrukcje opisane w artykule Usuwanie serwera Postgres z grupy analitycznej.
- Dodaj do grupy Analytics nowy serwer Postgres, postępując zgodnie z instrukcjami w artykule Dodawanie istniejącego serwera Postgres do grupy analitycznej.
- Wyrejestruj stary serwer postgres z dc-1:
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"<
- Usuń stary serwer postgres z dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Starego mastera Postgres można teraz bezpiecznie wyłączyć. Odinstaluj
edge-postgres-server
iapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
Aby zaktualizować ustawienia replikacji w węźle gotowości:
Wycofuję tryb gotowości Postgres
Uwaga: dokumentacja instalacji klastra z 12 węzłami pokazuje węzeł postgresql dc-1 jako główny, ale dla wygody w tej sekcji zakłada się, że węzeł dc-1 postgresql jest w stanie gotowości, a węzeł dc-2 postgresql jest nadrzędny.
Aby wyłączyć tryb gotowości Postgres, wykonaj te czynności:
- Uzyskaj identyfikatory UUID serwerów Postgres, wykonując instrukcje opisane w artykule Pobieranie identyfikatorów UUID.
- Zatrzymaj
apigee-postgresql
w bieżącym węźle gotowości w dc-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Usuń serwery Postgresql i dodaj je z grupy Analytics i grupy konsumentów.
- Usuń z grupy Analytics stary serwer Postgres, wykonując instrukcje opisane w artykule Usuwanie serwera Postgres z grupy analitycznej.
- Dodaj do grupy Analytics nowy serwer Postgres, postępując zgodnie z instrukcjami w artykule Dodawanie istniejącego serwera Postgres do grupy analitycznej.
- Wyrejestruj stary serwer postgres z dc-1:
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"<
- Usuń stary serwer postgres z dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Starego mastera Postgres można teraz bezpiecznie wyłączyć. Odinstaluj
edge-postgres-server
iapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
ZooKeeper i Cassandra
W tej sekcji wyjaśniono, jak wyłączyć serwery ZooKeeper i Cassandra w konfiguracji 2 centrum danych.
Jeśli masz więcej niż 2 centra danych, usuń wszystkie odwołania do węzła wycofywanego (w tym przypadku dc-1) z wszystkich plików konfiguracji w trybie cichych we wszystkich pozostałych centrach danych. Jeśli węzły Cassandra mają zostać wycofane, usuń te hosty z
CASS_HOSTS
. Pozostałe węzły Cassandra powinny pozostać w pierwotnej kolejności:CASS_HOSTS
.Uwaga dotycząca ZooKeeper: musisz zachować kworum węzłów wyborczych podczas modyfikowania właściwości
ZK_HOST
w pliku konfiguracji, aby zapewnić działanie grupy ZooKeeper. W swojej konfiguracji musisz mieć nieparzystą liczbę węzłów głosujących. Więcej informacji znajdziesz w artykule o zadaniach konserwacji Apache ZooKeeper.Aby wyłączyć serwery ZooKeeper i Cassandra:
- Utwórz kopie zapasowe węzłów dc-1 Cassandra i ZooKeeper, postępując zgodnie z instrukcjami podanymi w tych linkach:
Podaj identyfikatory UUID serwerów ZooKeeper i Cassandra w centrum danych, w którym węzły Cassandra zostaną wycofane z użytku.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- Wyrejestruj typ serwera:
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"
- Wyrejestruj serwer:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Zaktualizuj plik konfiguracji, podając adresy IP wycofanych węzłów usuniętych z
ZK_HOSTS
iCASS_HOSTS
.Przykład: załóżmy, że masz adresy IP
$IP1 $IP2 $IP3
w dc-1 i$IP4 $IP5 $IP6
w dc-2 i wycofujesz dc-1. Następnie usuń adresy IP$IP1 $IP2 $IP3
z plików konfiguracji.- Wpisy w istniejących plikach konfiguracji:
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”
- Nowe wpisy pliku konfiguracji:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- Wpisy w istniejących plikach konfiguracji:
- Zaktualizuj plik konfiguracji cichej (zmieniony w kroku e) o adresy IP usuniętych węzłów wycofanych z użytku i uruchom profil serwera zarządzania na wszystkich węzłach hostujących serwery zarządzania:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- Zaktualizuj plik konfiguracji, podając adresy IP usuniętych węzłów wycofanych z użytku, a następnie uruchom profil MP/RMP we wszystkich węzłach routera i procesora wiadomości:
- Jeśli router brzegowy i procesor wiadomości są skonfigurowane w tym samym węźle, wpisz:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
Jeśli router brzegowy i procesor wiadomości są skonfigurowane w oddzielnych węzłach, wpisz:
W przypadku routera:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
W przypadku procesora wiadomości:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- Jeśli router brzegowy i procesor wiadomości są skonfigurowane w tym samym węźle, wpisz:
- Skonfiguruj ponownie wszystkie węzły Qpid, usuwając adresy IP wycofanych węzłów z pliku odpowiedzi:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Skonfiguruj ponownie wszystkie węzły Postgres, usuwając adresy IP wycofanych węzłów z pliku odpowiedzi:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- Zmień przestrzeń klawiszy
system_auth
. Jeśli masz włączone uwierzytelnianie Cassandra w istniejącym węźle Cassandra, zaktualizuj współczynnik replikacji przestrzeni kluczysystem_auth
, uruchamiając to polecenie:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
To polecenie ustawia współczynnik replikacji na
'3'
, co oznacza 3 węzły Cassandra w klastrze. W razie potrzeby zmień tę wartość.Po wykonaniu tego kroku topologia Cassandra nie powinna mieć w żadnym z obszarów kluczy parametru
dc-1
. - Wyłącz po kolei węzły Cassandra w dc-1.
Aby wyłączyć węzły Cassandra, wpisz to polecenie:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- Sprawdź połączenie węzłów Cassandra z dc-1 za pomocą jednego z tych poleceń:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
Lub dodatkowa weryfikacja do uruchomienia na wycofanym węźle:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
Powyższe polecenie powinno zwrócić:
Mode: DECOMMISSIONED
- Uruchom profil DS dla wszystkich węzłów Cassandra i ZooKeeper w dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- Zatrzymaj
apigee-cassandra
iapigee-zookeeper
w dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- Odinstaluj
apigee-cassandra
iapigee-zookeeper
w dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
Usuń powiązania z dc-1
Aby usunąć powiązania z dc-1, wykonaj te czynności:
- Usuń powiązania z dc-1.
- Wyświetl wszystkie pody dostępne w organizacji:
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- Aby sprawdzić, czy wszystkie powiązania zostały usunięte, pobierz identyfikatory UUID serwerów powiązanych z podami:
curl -v -u <AdminEmailID>:<AdminPassword> \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
Jeśli to polecenie nie zwróci żadnych identyfikatorów UUID, oznacza to, że podczas poprzednich kroków wszystkie powiązania zostały usunięte i możesz pominąć następny krok. W przeciwnym razie wykonaj następny krok.
- Usuń wszystkie powiązania serwera dla identyfikatorów UUID uzyskanych w poprzednim kroku:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Odłącz organizację od poda:
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
- Wyświetl wszystkie pody dostępne w organizacji:
- Usuń pody:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- Usuń region.
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
Uwaga: jeśli pominiesz jeden z kroków podczas usuwania serwerów, powyższy krok zwróci komunikat o błędzie informujący o tym, że określony serwer w podzie nadal istnieje. Dlatego usuń je, wykonując opisane poniżej czynności, dostosowując typy w poleceniu
curl
.Na tym etapie zakończono wycofanie dc-1.
Dodatek
Rozwiązywanie problemów
Jeśli po wykonaniu poprzednich kroków w niektórych podach nadal istnieją serwery, wykonaj poniższe czynności, aby je wyrejestrować i usunąć. Uwaga: w razie potrzeby zmień typy i bloki reklamowe.
- Uzyskaj identyfikatory UUID za pomocą tego polecenia:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- Wyrejestruj typ serwera:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- Usuń serwery pojedynczo:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
Weryfikacja
Wycofanie możesz sprawdzić za pomocą tych poleceń.
Serwer zarządzania
Uruchom następujące polecenia na serwerach zarządzania we wszystkich regionach.
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
Uruchom to polecenie na wszystkich komponentach, aby sprawdzić wymagania dotyczące portów dla wszystkich portów zarządzania.
curl -v http://MS_IP:8080/v1/servers/self
Sprawdź grupę analityczną.
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
Węzły Cassandra/ZooKeeper
We wszystkich węzłach Cassandra wpisz:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Spowoduje to zwrócenie stanu
running
lubnot running
dla tego konkretnego węzła.W jednym węźle wpisz:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
Powyższe polecenia zwracają informacje o aktywnych centrach danych.
W węzłach ZooKeeper wpisz najpierw:
echo ruok | nc <host> 2181
To polecenie zwróci wartość
imok
.Potem wpisz:
echo stat | nc <host> 2181 | grep Mode
Wartość
Mode
zwrócona przez powyższe polecenie będzie mieć jedną z tych wartości:observer
,leader
lubfollower
.W jednym węźle ZooKeeper:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
W węźle głównym Postgres uruchom polecenie:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Sprawdź, czy odpowiedź wskazuje, że węzeł jest nadrzędny.
W węźle gotowości:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Sprawdź, czy odpowiedź wskazuje, że węzeł jest w trybie gotowości.
Zaloguj się do bazy danych PostgreSQL przy użyciu polecenia
psql -h localhost -d apigee -U postgres
Gdy pojawi się prośba, jako hasło użytkownika „postgres” wpisz
'postgres'
. Ze statystyk wybierzmax(client_received_start_timestamp)
.”$org.$env.fact” limit 1
;Logi
Sprawdź dzienniki komponentów, aby upewnić się, że nie ma w nich błędów.
- W nowym masterze zmodyfikuj plik konfiguracji, tak by ustawił: