Czasami może być konieczne wycofanie z użycia centrum danych. Jeśli na przykład aktualizujesz system operacyjny, musisz zainstalować nowy system operacyjny w nowym centrum danych, a następnie wycofać ze służby stare centrum danych. W kolejnych sekcjach przedstawiamy przykład wycofania z użycia centrum danych, w którym znajdują się 2 centra danych, dc-1 i dc-2, w instalacji klastrowej z 12 węzłami:
- dc-1 to centrum danych, które ma zostać wycofane z użycia.
- dc-2 to drugie centrum danych, które jest używane w procedurze wycofywania z eksploatacji.
Jeśli aktualizujesz system operacyjny, dc-2 może być centrum danych, w którym zainstalowano nową wersję systemu operacyjnego. Jednak instalacja nowego systemu operacyjnego nie jest wymagana do wyłączenia centrum danych.
Informacje do rozważenia przed wycofaniem z użycia centrum danych
Podczas wycofywania z użycia centrum danych pamiętaj o tych kwestiach:
- Zablokuj cały ruch w czasie wykonywania i ruch zarządzający do wyłączanego centrum danych, a następnie przekieruj je do innych centrów danych.
- Po wycofaniu z użycia centrum danych zmniejszysz pojemność klastra Apigee. Aby to zrekompensować, rozważ zwiększenie pojemności pozostałych centrów danych lub dodanie nowych centrów danych po wycofaniu.
- Podczas procesu wycofywania z użycia może dojść do utraty danych analitycznych, w zależności od tego, które komponenty analityczne są zainstalowane w wycofywanej z użycia lokalizacji danych. Więcej informacji znajdziesz w artykule Dodawanie i usuwanie węzłów Qpid.
- Zanim wycofasz z użycia centrum danych, musisz wiedzieć, jak skonfigurowano wszystkie komponenty we wszystkich centrach danych, zwłaszcza serwery OpenLDAP, ZooKeeper, Cassandra i Postgres. Powinieneś też utworzyć kopie zapasowe wszystkich komponentów i ich konfiguracji.
Zanim rozpoczniesz
- Serwer zarządzania: Wszystkie kroki dezaktywacji są silnie zależne od serwera zarządzania. Jeśli masz tylko jeden dostępny serwer zarządzania, zalecamy zainstalowanie nowego komponentu serwera zarządzania w centrum danych innym niż dc-1, zanim wycofasz serwer zarządzania w dc-1. Upewnij się, że jeden z serwerów zarządzania jest zawsze dostępny.
- Router: Przed wycofaniem z użycia routera wyłącz dostępność routerów, blokując port 15999. Upewnij się, że żaden ruch w czasie wykonywania nie jest kierowany do routerów, które są wycofywane z użycia.
- Cassandra i ZooKeeper:
w sekcjach poniżej znajdziesz instrukcje dezaktywacji dc-1 w konfiguracji z dwoma centrami danych.
Jeśli masz więcej niż 2 centra danych, usuń wszystkie odwołania do węzła, który jest wycofywany (w tym przypadku dc-1) ze wszystkich plików konfiguracji cichej we wszystkich pozostałych centrach danych. W przypadku węzłów Cassandra, które mają zostać wycofane, usuń te hosty z
CASS_HOSTS
. Pozostałe węzły Cassandra powinny pozostać w pierwotnym porządkuCASS_HOSTS
. - Postgres: jeśli wycofasz z użycia główną instancję Postgres, upewnij się, że promujesz jedną z dostępnych zastępczych węzłów jako nową główną instancję Postgres. Chociaż serwer QPID przechowuje bufor w kolejce, jeśli serwer główny Postgres jest niedostępny przez dłuższy czas, istnieje ryzyko utraty danych analitycznych.
Wymagania wstępne
Przed wycofaniem z użycia dowolnego komponentu zalecamy utworzenie pełnej kopii zapasowej wszystkich węzłów. Utwórz kopię zapasową, korzystając z procedury odpowiedniej do bieżącej wersji przeglądarki Edge. Więcej informacji o kopiach zapasowych znajdziesz w artykule Kopie zapasowe i przywracanie.
- Przed wycofaniem się upewnij, że Edge działa prawidłowo. Aby to zrobić, użyj polecenia:
/opt/apigee/apigee-service/bin/apigee-all status
- Upewnij się, że do centrum danych, które wycofujesz z użycia, nie dociera obecnie żaden ruch w czasie wykonywania.
Kolejność wycofywania komponentów
Jeśli zainstalujesz Edge for Private Cloud na wielu węzłach, musisz wycofać komponenty Edge na tych węzłach w podanej kolejności:
- Interfejs Edge (edge-ui)
- Serwer zarządzania (edge-management-server)
- OpenLDAP (apigee-openldap)
- Router (edge-router)
- Procesor wiadomości (edge-message-processor)
- Qpid Server i Qpidd (edge-qpid-server i apigee-qpidd)
- Postgres i baza danych PostgreSQL (edge-postgres-server i apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
W kolejnych sekcjach znajdziesz instrukcje dezaktywacji poszczególnych komponentów.
Interfejs Edge
Aby zatrzymać i odinstalować komponent interfejsu użytkownika Edge w 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 wycofać serwer zarządzający na serwerze dc-1, wykonaj te czynności:
- Zatrzymaj serwer zarządzania na dc-1:
apigee-service edge-management-server stop
- Znajdź identyfikator UUID serwera zarządzania zarejestrowany 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 tym serwerze są też zainstalowane inne komponenty, przed usunięciem identyfikatora UUID zarejestruj je wszystkie.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Odinstaluj składnik serwera zarządzania na dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Otwarty LDAP
Z tej sekcji dowiesz się, jak wycofać z użytkowania OpenLDAP na dc-1.
Uwaga: jeśli masz więcej niż 2 centra danych, poniżej znajdziesz informacje o konfiguracjach z większą liczbą centrów danych.
Aby wycofać z użytkowania OpenLDAP na dc-1, wykonaj te czynności:
- Utwórz kopię zapasową węzła OpenLDAP dc-1, wykonując czynności opisane w artykule Tworzenie kopii zapasowej.
Przerwij replikację danych między 2 centrami danych, dc-1 i dc-2, wykonując te czynności w obu centrach danych.
- 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:
Możesz sprawdzić, czy dc-2 nie replikuje już do dc-1, tworząc wpis w dc-2 LDAP i upewniając się, że nie pojawia się on w dc-1 LDAP.
Opcjonalnie możesz wykonać podane niżej czynności, aby utworzyć w klusterze OpenLDAP użytkownika z dostępem tylko do odczytu w dc-2 i sprawdzić, czy użytkownik został zreplikowany. Użytkownik jest następnie usuwany.
- Utwórz w katalogu dc-2 plik
readonly-user.ldif
o tej treś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ą wyglądać tak:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- Wyszukaj użytkownika w dc-1, aby się upewnić, że nie został on zduplikowany. Jeśli użytkownik nie jest obecny w dc-1, możesz mieć pewność, że oba serwery LDAP nie są już replikowane:
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ń dodany wcześniej użytkownik 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 katalogu dc-2 plik
- Zatrzymaj OpenLDAP w dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Odinstaluj komponent OpenLDAP na dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Router
W tej sekcji opisaliśmy, jak wycofać z użycia router. Więcej informacji o usuwaniu routera znajdziesz w artykule Usuwanie serwera.
Wykonaj podane niżej czynności, aby wycofać router z dc-1. Jeśli w dc-1 skonfigurowano wiele węzłów routera, wykonaj czynności w przypadku wszystkich węzłów routera po kolei.
Uwaga: zakładamy, że port kontroli stanu routera 15999 jest skonfigurowany w systemie równoważenia obciążenia, a zablokowanie portu 15999 spowoduje utratę dostępu do routera. Do zablokowania portu może być potrzebny dostęp roota.
Aby wycofać router z użycia, wykonaj te czynności:
Wyłącz dostępność routerów, blokując port 15999, czyli port kontroli stanu. Upewnij się, że ruch w czasie wykonywania jest zablokowany w tym centrum danych:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Sprawdź, czy router jest dostępny:
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
- Pobierz identyfikator UUID routera, wykonując czynności opisane w artykule Pobieranie identyfikatorów UUID.
- Zatrzymaj router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Wyświetl listę dostępnych bram 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®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Wyrejestruj serwer:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Odinstaluj aplikację
edge-router
: Zobacz Usuwanie serwera./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- Wyczyść reguły
iptables
, aby włączyć zablokowany port 15999:iptables -F
procesor komunikatów
W tej sekcji opisano, jak wycofać z eksploatacji usługę Message Processor z dc-1. Więcej informacji o usuwaniu usługi Message Processor znajdziesz w artykule Usuwanie serwera.
Zakładamy, że dc-1 ma instalację z 12 węzłami w klusterze, więc w dc-1 skonfigurowane są 2 węzły usługi Message Processor. Wykonaj te polecenia na obu węzłach.
- Pobierz identyfikatory UUID procesorów wiadomości zgodnie z instrukcjami podanymi w sekcji Pobieranie identyfikatorów UUID.
- Zatrzymaj przetwarzanie 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®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Odłącz środowisko od usługi Message Processor.
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -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 przetwarzacz 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
Z tej sekcji dowiesz się, jak wycofać z użycia serwer Qpid (edge-qpid-server
) i usługę Qpidd (apigee-qpidd
).
W dc-1 skonfigurowano 2 węzły Qpid, więc musisz wykonać te czynności w przypadku obu węzłów:
- Uzyskaj identyfikator UUID Qpidd w sposób opisany w artykule 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
- Aby uzyskać listę grup Analytics i grup konsumentów:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Usuwanie Qpid z grupy konsumentó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}"
- Usuwanie 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"
- Odrejestruj 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
- Uruchom ponownie wszystkie komponenty edge-qpid-server na wszystkich węzłach, aby mieć pewność, że zmiany zostaną uwzględnione przez te komponenty:
$ /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 z użycia, może mieć serwer główny lub zapasowy Postgres. W sekcjach poniżej znajdziesz informacje o wycofaniu tych usług:
Wycofywanie głównego serwera Postgres
Uwaga: jeśli wycofasz z użycia serwer główny Postgres, podnieś dowolny z dostępnych węzłów zapasowych do roli nowego serwera głównego postgres. Chociaż QPID umieszcza dane w kolejce buforowej, jeśli serwer główny Postgres jest przez długi czas niedostępny, istnieje ryzyko utraty danych analitycznych.
Aby wycofać z użycia mastera Postgres:
- Utwórz kopię zapasową węzła głównego Postgres dc-1, wykonując instrukcje podane w tych artykułach:
- Uzyskaj identyfikatory UUID serwerów Postgres zgodnie z opisem w artykule Uzyskiwanie identyfikatorów UUID.
- Na dc-1 zatrzymaj
edge-postgres-server
iapigee-postgresql
na bieżącym serwerze głównym:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Na węźle zapasowym w dc-2 wpisz to polecenie, aby uczynić go węzłem głównym:
/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 nieaktywny węzeł Postgres, musisz dodać wpisy hosta na nowym węźle głównym i zaktualizować ustawienie replikacji dla wszystkich dostępnych nieaktywnych węzłów Postgres.
Aby dodać wpisy hosta do nowego serwera głównego Postgres: wykonaj czynności opisane w odpowiedniej sekcji poniżej:
Jeśli pozostał tylko jeden węzeł zapasowy
Załóżmy na przykład, że przed wycofaniem były skonfigurowane 3 węzły Postgresa. wycofujesz z użycia istniejący węzeł master, a jeden z pozostałych węzłów postgres w trybie gotowości przekształcasz w węzeł master. Aby skonfigurować pozostały węzeł zapasowy, wykonaj te czynności:
- Na nowym masterze zmień plik konfiguracji, aby ustawić:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- Włącz replikację na nowym serwerze głównym:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Jeśli pozostało więcej niż 1 węzeł w stanie gotowości
- Dodaj tę konfigurację w sekcji
/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
- Upewnij się, że plik /opt/apigee/customer/application/postgresql.properties jest własnością użytkownika apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- Ponownie uruchom aplikację
apigee-postgresql
:apigee-service apigee-postgresql restart
- Zmodyfikuj plik konfiguracji
/opt/silent.conf
i zaktualizuj polePG_MASTER
, podając adres IP nowego serwera głównego Postgres. - Usuń wszystkie stare dane Postgres za pomocą tego polecenia:
rm -rf /opt/apigee/data/apigee-postgresql/
- Skonfiguruj replikację na węźle zapasowym:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Sprawdź, czy serwer główny Postgres jest prawidłowo skonfigurowany, wpisując to polecenie w dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Usuń i dodaj serwery Postgresql z grupy analitycznej i grupy konsumentów.
- Usuń stary serwer Postgres z grupy analitycznej, wykonując instrukcje podane w artykule Usuwanie serwera Postgres z grupy analitycznej.
- Dodaj nowy serwer Postgres do grupy analitycznej, wykonując instrukcje podane 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
- Starą instancję główną Postgresa można teraz bezpiecznie wycofać z użycia. 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 na węźle zapasowym:
Wycofywanie z użycia trybu gotowości Postgres
Uwaga: dokumentacja dotycząca instalacji klastrowej z 12 węzłami pokazuje węzeł postgresql dc-1 jako węzeł główny, ale dla wygody w tej sekcji przyjmuje się, że węzeł postgresql dc-1 jest węzłem zapasowym, a węzeł postgresql dc-2 jest węzłem głównym.
Aby wycofać zapasową instancję PostgreSQL, wykonaj te czynności:
- Uzyskaj identyfikatory UUID serwerów Postgres, wykonując instrukcje podane w artykule Uzyskiwanie identyfikatorów UUID.
- Zatrzymaj
apigee-postgresql
na bieżącym węźle rezerwowym 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ń i dodaj serwery Postgresql z grupy analitycznej i grupy konsumentów.
- Usuń stary serwer Postgres z grupy analitycznej, wykonując instrukcje podane w artykule Usuwanie serwera Postgres z grupy analitycznej.
- Dodaj nowy serwer Postgres do grupy analitycznej, wykonując instrukcje podane 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
- Starą instancję główną Postgresa można teraz bezpiecznie wycofać z użycia. 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śniamy, jak wycofać z użycia serwery ZooKeeper i Cassandra w konfiguracji z 2 centrami danych.
Jeśli masz więcej niż 2 centra danych, usuń wszystkie odwołania do węzła, który jest wycofywany (w tym przypadku dc-1) ze wszystkich plików konfiguracji cichej we wszystkich pozostałych centrach danych. W przypadku węzłów Cassandra, które mają zostać wycofane, usuń te hosty z
CASS_HOSTS
. Pozostałe węzły Cassandra powinny pozostać w pierwotnym porządkuCASS_HOSTS
.Uwaga na temat ZooKeeper: aby zapewnić działanie zespołu ZooKeeper, musisz zachować kworum węzłów głosujących podczas modyfikowania właściwości
ZK_HOST
w pliku konfiguracyjnym. W konfiguracji musisz mieć nieparzystą liczbę węzłów głosujących. Więcej informacji znajdziesz w artykule Czynności związane z konserwacją Apache ZooKeeper.Aby wycofać serwery ZooKeeper i Cassandra:
- Utwórz kopie zapasowe węzłów Cassandra i ZooKeeper w dc-1, postępując zgodnie z instrukcjami podanymi w tych artykułach:
Wypisz identyfikatory UUID serwerów ZooKeeper i Cassandra w centrum danych, w którym węzły Cassandra mają zostać wycofane.
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, usuwając z niego adresy IP usuniętych węzłów z
ZK_HOSTS
iCASS_HOSTS
.Przykład: masz adresy IP
$IP1 $IP2 $IP3
w dc-1 i$IP4 $IP5 $IP6
w dc-2, a dc-1 jest wycofywane z użytku. Następnie usuń z plików konfiguracji adresy IP$IP1 $IP2 $IP3
.- Istniejące wpisy w pliku 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 w pliku konfiguracji:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- Istniejące wpisy w pliku konfiguracji:
- Zaktualizuj plik konfiguracji w trybie automatycznym (zmodyfikowany w kroku e) adresami IP usuniętych wycofanych węzłów i uruchom profil serwera zarządzania na wszystkich węzłach hostujących serwer zarządzania:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- Zaktualizuj plik konfiguracji, dodając adresy IP usuniętych wycofanych węzłów, i uruchom profil MP/RMP na wszystkich węzłach routera i procesora wiadomości:
- Jeśli router Edge i przetwarzacz wiadomości są skonfigurowane na tym samym węźle, wpisz:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
Jeśli Edge Router i Message Processor są skonfigurowane na osobnych węzłach, wpisz:
Router:
/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 Edge i przetwarzacz wiadomości są skonfigurowane na tym samym węźle, wpisz:
- Zmień konfigurację wszystkich węzłów Qpid, usuwając z pliku odpowiedzi adresy IP węzłów wycofanych z użycia:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Zmień konfigurację wszystkich węzłów Postgres, usuwając z pliku odpowiedzi adresy IP węzłów wycofanych z użycia:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- Zmień przestrzeń kluczy
system_auth
. Jeśli na istniejącym węźle Cassandra masz włączoną autoryzację Cassandra, zaktualizuj współczynnik replikacji przestrzeni kluczysystem_auth
, wykonują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 zawierać
dc-1
w żadnej z przestrzeni kluczy. - Wyłącz węzły Cassandra na dc-1 jeden po drugim.
Aby wycofać 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, używając jednego z tych poleceń:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
Lub polecenie weryfikacji dodatkowej do uruchomienia na węźle wycofanym:
/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świetlanie listy wszystkich dostępnych modułów 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, uzyskaj 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 ta komenda nie zwróci żadnych identyfikatorów UUID, oznacza to, że poprzednie kroki spowodowały usunięcie wszystkich powiązań, 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 bloku reklamowego:
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świetlanie listy wszystkich dostępnych modułów 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
W tym momencie wycofanie z użycia dc-1 zostało zakończone.
Dodatek
Rozwiązywanie problemów
Jeśli po wykonaniu poprzednich czynności w niektórych kontenerach nadal znajdują się serwery, wykonaj te czynności, aby je odrejestrować i usunąć. Uwaga: w razie potrzeby zmień typy i pod.
- Aby uzyskać identyfikatory UUID, użyj 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
Aby zweryfikować wycofanie, użyj tych poleceń.
Serwer zarządzania
- Uruchom podane niżej polecenia z serwerów 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ę w Statystykach.
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
-
Na wszystkich węzłach systemu Cassandra wpisz:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Zwróci on stan
running
lubnot running
dla danego węzła. -
Na 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 zwrócą informacje o aktywnym centrum danych.
-
Na węzłach ZooKeeper najpierw wpisz:
echo ruok | nc <host> 2181
To polecenie zwraca
imok
.Następnie wpisz:
echo stat | nc <host> 2181 | grep Mode
Wartość
Mode
zwrócona przez powyższe polecenie będzie jedną z tych wartości:observer
,leader
lubfollower
. -
W jednym węźle ZooKeeper uruchom:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
-
Na węźle master Postgres uruchom:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Sprawdź, czy w odpowiedzi jest wskazany węzeł główny.
-
Na węźle zapasowym wykonaj:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Sprawdź, czy odpowiedź potwierdza, że węzeł jest w stanie gotowości.
-
Zaloguj się w bazie danych PostgreSQL za pomocą tego polecenia:
psql -h localhost -d apigee -U postgres
Gdy pojawi się prośba, wpisz hasło użytkownika
postgres
(domyślnie:postgres
).Następnie wykonaj to zapytanie, aby sprawdzić maksymalną wartość
client_received_start_timestamp
:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Węzły Cassandra/ZooKeeper
Logi
Sprawdź dzienniki komponentów, aby się upewnić, że nie ma błędów.
- Na nowym masterze zmień plik konfiguracji, aby ustawić: