Czasami może być konieczne wycofanie centrum danych z użytku. Jeśli na przykład aktualizujesz system operacyjny, musisz zainstalować nowy system operacyjny w nowym centrum danych, a potem wyłączyć stare centrum danych. W sekcjach poniżej znajdziesz przykład wycofywania centrum danych, w którym znajdują się 2 centra danych (dc-1 i dc-2) w 12-węzłowej instalacji klastrowej:
- dc-1 to centrum danych, które ma zostać wycofane.
- dc-2 to drugie centrum danych, które jest używane w procedurze wycofywania.
Jeśli uaktualniasz system operacyjny, dc-2 może być centrum danych, w którym zainstalowano nową wersję systemu operacyjnego. Jednak instalowanie nowego systemu operacyjnego nie jest wymagane do wycofania centrum danych z eksploatacji.
Co należy wziąć pod uwagę przed wyłączeniem centrum danych
Podczas wycofywania centrum danych pamiętaj o tych kwestiach:
- Zablokuj cały ruch związany z czasem działania i zarządzaniem w wycofywanym centrum danych i przekieruj go do innych centrów danych.
- Po wycofaniu centrum danych z eksploatacji pojemność klastra Apigee zostanie zmniejszona. Aby to zrekompensować, rozważ zwiększenie pojemności w pozostałych centrach danych lub dodanie kolejnych po wycofaniu z użytku tych, które są obecnie używane.
- Podczas procesu wycofywania istnieje możliwość utraty danych analitycznych w zależności od tego, które komponenty analityczne są zainstalowane w wycofywanym centrum danych. Więcej informacji znajdziesz w artykule Dodawanie i usuwanie węzłów Qpid.
- Przed wycofaniem centrum danych z eksploatacji musisz poznać konfigurację wszystkich komponentów we wszystkich centrach danych, zwłaszcza serwerów SymasLDAP, ZooKeeper, Cassandra i Postgres. Warto też wykonać kopie zapasowe wszystkich komponentów i ich konfiguracji.
Zanim rozpoczniesz
- Serwer zarządzania: wszystkie kroki wycofywania zależą w dużej mierze od serwera zarządzania. Jeśli masz tylko 1 serwer zarządzający, zalecamy zainstalowanie nowego komponentu serwera zarządzającego w centrum danych innym niż dc-1 przed wycofaniem serwera zarządzającego w centrum danych dc-1. Upewnij się, że jeden z serwerów zarządzających jest zawsze dostępny.
- Router: Przed wycofaniem routera wyłącz jego dostępność blokując port 15999. Upewnij się, że ruch w czasie działania nie jest kierowany do wycofywanych routerów.
- Cassandra i ZooKeeper:
W sekcjach poniżej opisujemy, jak wycofać z eksploatacji dc-1 w konfiguracji z 2 centrami danych.
Jeśli masz więcej niż 2 centra danych, usuń wszystkie odwołania do wycofywanego węzła (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 zachować pierwotną kolejnośćCASS_HOSTS
. - PostgreSQL: jeśli wyłączysz główny serwer PostgreSQL, promuj jeden z dostępnych węzłów rezerwowych jako nowy główny serwer PostgreSQL. Serwer QPID przechowuje bufor w kolejce, ale jeśli serwer główny Postgres jest niedostępny przez dłuższy czas, możesz utracić dane analityczne.
Wymagania wstępne
Zanim wyłączysz dowolny komponent, zalecamy wykonanie pełnej kopii zapasowej wszystkich węzłów. Aby utworzyć kopię zapasową, wykonaj procedurę odpowiednią dla Twojej wersji Edge. Więcej informacji o kopii zapasowej znajdziesz w artykule Tworzenie i przywracanie kopii zapasowych.
- Przed wycofaniem z użycia sprawdź, czy Edge działa, używając tego polecenia:
/opt/apigee/apigee-service/bin/apigee-all status
- Upewnij się, że do wycofywanego centrum danych nie dociera obecnie żaden ruch w czasie działania.
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 tej kolejności:
- Interfejs Edge (edge-ui)
- Serwer zarządzający (edge-management-server)
- Symas LDAP (apigee-openldap)
- Router (router brzegowy)
- Procesor wiadomości (edge-message-processor)
- Serwer Qpid 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 sekcjach poniżej znajdziesz informacje o tym, jak wycofać poszczególne komponenty.
Interfejs Edge
Aby zatrzymać i odinstalować komponent interfejsu Edge 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 dc-1, wykonaj te czynności:
- Zatrzymaj serwer zarządzania na komputerze 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”
- Wyrejestrowanie typu 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ą zainstalowane inne komponenty, przed usunięciem identyfikatora UUID wyrejestruj je wszystkie.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Odinstaluj komponent serwera zarządzania na komputerze dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Symas LDAP
Z tej sekcji dowiesz się, jak wycofać SymasLDAP na serwerze dc-1.
Uwaga: jeśli masz więcej niż 2 centra danych, zapoznaj się z sekcją Konfiguracje z więcej niż 2 centrami danych poniżej.
Aby wycofać SymasLDAP na serwerze dc-1, wykonaj te czynności:
- Utwórz kopię zapasową węzła dc-1 SymasLDAP, wykonując czynności opisane w artykule Jak utworzyć kopię zapasową.
Przerwij replikację danych między dwoma centrami danych, dc-1 i dc-2, wykonując w obu centrach danych te czynności:
- Sprawdź obecny stan:
/opt/symas/bin/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}mdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcMirrorMode
- Uruchom polecenie
ldapmodify
:/opt/symas/bin/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}mdb,cn=config" modifying entry "olcDatabase={2}mdb,cn=config"
- Sprawdź obecny stan:
Możesz sprawdzić, czy dc-2 nie replikuje już do dc-1, tworząc wpis w LDAP dc-2 i upewniając się, że nie pojawia się on w LDAP dc-1.
Opcjonalnie możesz wykonać czynności opisane poniżej, aby utworzyć użytkownika z uprawnieniami tylko do odczytu w węźle dc-2 SymasLDAP, a następnie sprawdzić, czy użytkownik został zreplikowany. Użytkownik zostanie następnie usunięty.
- Utwórz w dc-2 plik
readonly-user.ldif
o tej 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` na serwerze dc-2:
/opt/symas/bin/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 został zreplikowany. Jeśli użytkownik nie jest obecny na serwerze dc-1, możesz mieć pewność, że oba protokoły LDAP nie replikują już danych:
/opt/symas/bin/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ń użytkownika z uprawnieniami tylko do odczytu, którego dodano wcześniej:
/opt/symas/bin/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 SymasLDAP na komputerze dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Odinstaluj komponent SymasLDAP na serwerze dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Router
Z tej sekcji dowiesz się, jak wycofać router. Więcej informacji o usuwaniu routera znajdziesz w artykule Usuwanie serwera.
Poniższe czynności spowodują wycofanie routera z dc-1. Jeśli w dc-1 skonfigurowano wiele węzłów Router, wykonaj te czynności w każdym z nich po kolei.
Uwaga: w tym przypadku zakłada się, że port kontroli stanu routera 15999 jest skonfigurowany w systemie równoważenia obciążenia i że zablokowanie portu 15999 spowoduje niedostępność routera. Aby zablokować port, może być potrzebny dostęp do roota.
Aby wycofać router z użytku, wykonaj te czynności:
Wyłącz dostępność routerów, blokując port 15999, czyli port kontroli stanu. Sprawdź, czy ruch w czasie działania jest blokowany w tym centrum danych:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Sprawdź, czy 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
- Pobierz identyfikator UUID routera zgodnie z opisem w artykule Pobieranie identyfikatorów UUID.
- Zatrzymaj router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Wyświetl listę dostępnych podów bramy 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
edge-router
: Zobacz Usuwanie serwera./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- Wyczyść
iptables
reguły, aby włączyć zablokowany port 15999:iptables -F
procesor komunikatów
W tej sekcji opisano, jak wycofać procesor wiadomości z dc-1. Więcej informacji o usuwaniu procesora wiadomości znajdziesz w artykule Usuwanie serwera.
Zakładamy, że dc-1 ma 12-węzłową instalację klastrową, więc w dc-1 skonfigurowane są 2 węzły procesora wiadomości. Wykonaj te polecenia na obu węzłach.
- Pobierz identyfikatory UUID procesorów wiadomości zgodnie z instrukcjami w sekcji Pobieranie 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®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Odłącz środowisko od procesora wiadomości.
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 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
Z tej sekcji dowiesz się, jak wyłączyć serwer Qpid (edge-qpid-server
) i Qpidd (apigee-qpidd
). W dc-1 skonfigurowane są 2 węzły Qpid, więc musisz wykonać te czynności w przypadku obu węzłów:
- Uzyskaj identyfikator UUID dla Qpidd zgodnie z instrukcjami w artykule Uzyskiwanie 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 analitycznych i konsumenckich:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Usuń 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}"
- 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
- Uruchom ponownie wszystkie komponenty edge-qpid-server na wszystkich węzłach, aby mieć pewność, że zmiana zostanie przez nie uwzględniona:
$ /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
Wyłączane centrum danych może zawierać główną lub zapasową bazę danych Postgres. W sekcjach poniżej znajdziesz informacje o tym, jak je wycofać:
Wyłączanie głównej instancji Postgres
Uwaga: jeśli wycofasz główny serwer Postgres, promuj jeden z dostępnych węzłów rezerwowych jako nowy główny serwer Postgres. Kolejki QPID buforują dane, ale jeśli serwer główny Postgres jest niedostępny przez dłuższy czas, możesz utracić dane analityczne.
Aby wycofać mastera Postgres:
- Utwórz kopię zapasową głównego węzła Postgres dc-1, postępując zgodnie z instrukcjami podanymi w tych linkach:
- Pobierz identyfikatory UUID serwerów Postgres zgodnie z opisem w sekcji Pobieranie identyfikatorów UUID.
- Na serwerze dc-1 zatrzymaj
edge-postgres-server
iapigee-postgresql
na bieżącej instancji głównej:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Na węźle rezerwowym w dc-2 wpisz to polecenie, aby ustawić go jako węzeł główny:
/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 węzeł rezerwowy Postgres, musisz dodać wpisy hosta na nowym węźle głównym i zaktualizować ustawienie replikacji dla wszystkich dostępnych węzłów rezerwowych Postgres.
Aby dodać wpisy hosta do nowego głównego serwera Postgres, wykonaj czynności opisane w odpowiedniej sekcji poniżej:
Jeśli pozostał tylko 1 węzeł rezerwowy
Załóżmy na przykład, że przed wycofaniem z użytku skonfigurowane były 3 węzły Postgres. Istniejący węzeł główny został wycofany, a jeden z pozostałych węzłów rezerwowych postgres został awansowany na węzeł główny. Skonfiguruj pozostały węzeł rezerwowy, wykonując te czynności:
- Na nowym serwerze głównym edytuj 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ł rezerwowy
- Dodaj tę konfigurację w
/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
, wpisując adres IP nowego głównego serwera Postgres. - Usuń stare dane Postgres za pomocą tego polecenia:
rm -rf /opt/apigee/data/apigee-postgresql/
- Skonfiguruj replikację na węźle rezerwowym:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Aby sprawdzić, czy serwer główny Postgres został poprawnie skonfigurowany, wpisz to polecenie w dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Usuń serwery Postgresql z grupy analitycznej i grupy konsumentów oraz dodaj je do tych grup.
- Usuń stary serwer Postgres z grupy analitycznej, postępując zgodnie z instrukcjami w artykule Usuwanie serwera Postgres z grupy analitycznej.
- Dodaj nowy serwer postgres do grupy analitycznej, 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
- Poprzedni serwer główny Postgres można teraz bezpiecznie wycofać. 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 rezerwowym:
Wyłączanie rezerwowej bazy danych Postgres
Uwaga: w dokumentacji instalacji klastrowej z 12 węzłami węzeł dc-1 postgresql jest oznaczony jako węzeł główny, ale dla wygody w tej sekcji przyjęliśmy, że węzeł dc-1 postgresql jest węzłem rezerwowym, a węzeł dc-2 postgresql jest węzłem głównym.
Aby wycofać rezerwowy serwer Postgres, wykonaj te czynności:
- Uzyskaj identyfikatory UUID serwerów Postgres, postępując zgodnie z instrukcjami w sekcji 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ń serwery Postgresql z grupy analitycznej i grupy konsumentów oraz dodaj je do tych grup.
- Usuń stary serwer Postgres z grupy analitycznej, postępując zgodnie z instrukcjami w artykule Usuwanie serwera Postgres z grupy analitycznej.
- Dodaj nowy serwer postgres do grupy analitycznej, 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
- Poprzedni serwer główny Postgres można teraz bezpiecznie wycofać. 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 opisujemy, jak wycofać serwery ZooKeeper i Cassandra w konfiguracji z 2 centrami danych.
Jeśli masz więcej niż 2 centra danych, usuń wszystkie odwołania do wycofywanego węzła (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 zachować pierwotną kolejnośćCASS_HOSTS
.Uwaga dotycząca ZooKeepera: podczas modyfikowania właściwości
ZK_HOST
w pliku konfiguracyjnym musisz zachować kworum węzłów głosujących, aby zapewnić prawidłowe działanie zespołu ZooKeepera. 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 kopię zapasową węzłów dc-1 Cassandra i ZooKeeper, postępując zgodnie z instrukcjami dostępnymi pod tymi linkami:
Wymień 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
ZK_HOSTS
iCASS_HOSTS
adresy IP wycofanych węzłów.Przykład: załóżmy, że masz adresy IP
$IP1 $IP2 $IP3
w dc-1 i$IP4 $IP5 $IP6
w dc-2, a wycofujesz dc-1. Następnie usuń adresy IP$IP1 $IP2 $IP3
z plików konfiguracji.- 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 cichej instalacji (zmodyfikowany w kroku e) o adresy IP usuniętych węzłów wycofanych z użytku i uruchom profil serwera zarządzającego na wszystkich węzłach hostujących serwery zarządzające:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- Zaktualizuj plik konfiguracyjny o adresy IP usuniętych węzłów wycofanych z eksploatacji i uruchom profil MP/RMP na 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 na oddzielnych węzłach, wpisz:
W przypadku routera:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
W przypadku procesora komunikatów:
/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:
- Ponownie skonfiguruj wszystkie węzły Qpid, usuwając z pliku odpowiedzi adresy IP wycofanych węzłów:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Ponownie skonfiguruj wszystkie węzły Postgres, usuwając z pliku odpowiedzi adresy IP wycofanych węzłów:
/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łączone uwierzytelnianie 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 w topologii Cassandry nie powinno być
dc-1
w żadnej przestrzeni kluczy. - Wycofaj węzły Cassandra w 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 za pomocą jednego z tych poleceń:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
lub polecenie weryfikacji dodatkowej, które ma zostać uruchomione 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 instancje
apigee-cassandra
iapigee-zookeeper
w klastrze 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 listę wszystkich dostępnych zasobnikó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, pobierz identyfikatory UUID serwerów powiązanych z zasobnikami:
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, poprzednie kroki usunęły wszystkie powiązania 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świetl listę wszystkich dostępnych zasobnikó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 proces wycofywania serwera dc-1 został zakończony.
Dodatek
Rozwiązywanie problemów
Jeśli po wykonaniu poprzednich kroków w niektórych pulach nadal znajdują się serwery, wykonaj poniższe czynności, aby wyrejestrować i usunąć serwery. Uwaga: w razie potrzeby zmień typy i zasobniki.
- Pobierz identyfikatory UUID za pomocą tego polecenia:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- Wyrejestrowanie typu 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 sprawdzić wycofanie, użyj tych poleceń.
Serwer zarządzania
- Uruchom te polecenia na serwerach zarządzających 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 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 Cassandra wpisz:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Spowoduje to zwrócenie stanu
running
lubnot running
dla danego 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 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
. -
Na jednym węźle ZooKeepera uruchom:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
-
Na węźle głównym Postgresa uruchom:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Sprawdź, czy w odpowiedzi jest informacja, że węzeł jest węzłem głównym.
-
Na węźle rezerwowym uruchom:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Sprawdź, czy odpowiedź potwierdza, że węzeł jest w trybie 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 uruchom 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ź logi w komponentach, aby upewnić się, że nie ma w nich błędów.
- Na nowym serwerze głównym edytuj plik konfiguracji, aby ustawić: