Wycofanie Centrum danych

Może się zdarzyć, że konieczne będzie wyłączenie centrum danych. Jeśli na przykład uaktualniasz system operacyjny, musisz zainstalować nowy system operacyjny w nowym centrum danych, a następnie wyłączyć stare centrum danych. W poniższych sekcjach znajdziesz przykład wyłączenia centrum danych. W przypadku instalacji złożonej z 12 węzłów istnieją 2 centra danych – dc-1 i dc-2:

  • dc-1 to centrum danych, które zostanie wycofane.
  • dc-2 to drugie centrum danych używane w procesie wyłączania.

Jeśli uaktualniasz system operacyjny, centrum danych, w którym zainstalowano nową wersję systemu operacyjnego, może dc-2. Jednak do zamknięcia centrum danych nie jest wymagane zainstalowanie nowego systemu operacyjnego.

Uwagi do rozważenia przed wyłączeniem centrum danych

Gdy wyłączasz centrum danych, pamiętaj o tych kwestiach:

  • Zablokuj cały ruch związany ze środowiskiem wykonawczym i zarządzaniem kierowanym do wyłączanego centrum danych oraz przekieruj go do innych centrów danych.
  • Po wyłączeniu centrum danych ograniczysz wydajność klastra Apigee. Aby to zrekompensować, rozważ zwiększenie pojemności w pozostałych centrach danych lub dodanie centrów danych po ich wycofaniu.
  • W zależności od tego, które komponenty narzędzi analitycznych są zainstalowane w wycofywanym centrum danych, w trakcie jego wycofania może dojść do utraty danych analitycznych. Więcej informacji znajdziesz w sekcji 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 na serwerach OpenLDAP, ZooKeeper, Cassandra i Postgres. Musisz też utworzyć kopie zapasowe wszystkich komponentów i ich konfiguracji.

Zanim zaczniesz

  • Zarządzanie serwerem: wszystkie kroki wyłączenia w dużym stopniu zależą od serwera zarządzania. Jeśli masz tylko jeden serwer zarządzania, zalecamy zainstalowanie nowego komponentu serwera zarządzania w centrum danych innym niż dc-1 przed wyłączeniem serwera zarządzania dc-1 i upewnienie się, że jeden z serwerów zarządzania będzie zawsze dostępny.
  • Router: przed wycofaniem 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 2 centrów danych. Jeśli masz więcej niż 2 centra danych, pamiętaj, aby usunąć wszystkie odwołania do usuwanego węzła (w tym przypadku dc-1) ze wszystkich plików konfiguracji dyskretnych we wszystkich pozostałych centrach danych. W przypadku węzłów Cassandra, które mają zostać wycofane, usuń je z CASS_HOSTS. Pozostałe węzły Cassandra powinny pozostać w pierwotnej kolejności, która wynosi CASS_HOSTS.

  • Postgres: jeśli rezygnujesz z instancji głównej Postgres, pamiętaj, aby awansować dowolny z dostępnych węzłów gotowości jako nowego głównego głównego serwera Postgres. Chociaż serwer QPID przechowuje bufor w kolejce, jeśli master Postgres przez dłuższy czas jest niedostępny, ryzykujesz utratę danych analitycznych.

Wymagania wstępne

  • Przed wycofaniem jakiegokolwiek komponentu zalecamy wykonanie pełnej kopii zapasowej wszystkich węzłów. Wykonaj procedurę dotyczącą bieżącej wersji Edge, aby utworzyć kopię zapasową. Więcej informacji o tworzeniu kopii zapasowych znajdziesz w artykule Tworzenie i przywracanie 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 wycofaniem sprawdź, czy przeglądarka Edge jest uruchomiona i działa, korzystając z polecenia:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Sprawdź, czy do zamykanego centrum danych nie dociera obecnie żaden ruch związany ze środowiskiem wykonawczym.

Kolejność wyłączania komponentów

Jeśli instalujesz Edge dla Private Cloud w wielu węzłach, wycofaj komponenty Edge w tych węzłach w tej kolejności:

  1. Interfejs Edge (interfejs Edge)
  2. Serwer do zarządzania (serwer zarządzania granicznymi)
  3. OpenLDAP (apigee-openldap)
  4. Router (router progowy)
  5. Message Processor (przetwarzający wiadomości na serwerach brzegowych).
  6. Qpid Server i Qpidd (edge-qpid-server i apigee-qpidd)
  7. Postgres i baza danych PostgreSQL (edge-postgres-server i apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

W sekcjach poniżej znajdziesz informacje na temat wyłączania poszczególnych komponentów.

Interfejs Edge

Aby zatrzymać i odinstalować komponent interfejsu 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 wyłączyć serwer zarządzania w dc-1, wykonaj te czynności:

  1. Zatrzymaj serwer zarządzania na dc-1:
    apigee-service edge-management-server stop
  2. Znajdź identyfikator UUID serwera zarządzania zarejestrowany w dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Wyrejestruj typ serwera:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Usuń serwer. Uwaga: jeśli na tym serwerze są też zainstalowane inne komponenty, przed usunięciem identyfikatora UUID wyrejestruj je wszystkie.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Odinstalowanie komponentu 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ć protokół OpenLDAP w systemie 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 wyłączyć protokół OpenLDAP na dc-1, wykonaj te czynności:

  1. Utwórz kopię zapasową węzła OpenLDAP dc-1, wykonując czynności opisane w artykule Tworzenie kopii zapasowej.
  2. Podziel replikację danych między 2 centrami danych – dc-1 i dc-2, wykonując poniższe czynności w obu centrach.

    1. 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 wyglądać mniej więcej tak:

      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

    2. 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
    3. 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 wyglądać mniej więcej tak:

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. Możesz sprawdzić, czy dc-2 nie replikuje już danych do dc-1, tworząc wpis w LDAP dc-2 i upewniając się, że nie pojawi się on w tym katalogu.

    Opcjonalnie możesz wykonać opisane poniżej czynności, które spowodują utworzenie użytkownika z dostępem tylko do odczytu w węźle OpenLDAP dc-2, a następnie sprawdzenie, czy ten użytkownik jest replikowany. Konto użytkownika jest następnie usuwane.

    1. 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}
    2. 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"

    3. Wyszukaj użytkownika w dc-1, aby sprawdzić, czy nie został on zreplikowany. Jeśli użytkownika nie ma w dc-1, będziesz mieć 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
    4. 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"
  4. Zatrzymanie OpenLDAP w dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Odinstaluj komponent OpenLDAP na dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Router

W tej sekcji dowiesz się, jak wyłączyć router. Więcej informacji o usuwaniu routera znajdziesz w artykule Usuwanie serwera.

Wykonując poniższe czynności, wyłącz router od zasilania dc-1. Jeśli w dc-1 jest skonfigurowanych wiele węzłów routera, wykonaj te czynności we wszystkich węzłach routera pojedynczo

Uwaga: w tym przypadku zakładamy, że port 15999 kontroli stanu routera jest skonfigurowany w systemie równoważenia obciążenia i że blokujący port 15999 sprawi, że router będzie nieosiągalny. Aby zablokować port, możesz potrzebować dostępu do roota.

Aby wyłączyć router, wykonaj te czynności:

  1. Wyłącz osiągalność routerów, blokując port 15999 (port kontroli stanu). Sprawdź, czy ruch w środowisku wykonawczym jest blokowany w tym centrum danych:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Sprawdź, czy router jest osiągalny:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    Dane wyjściowe powinny wyglądać mniej więcej tak:

    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

  3. Pobierz identyfikator UUID routera zgodnie z opisem w sekcji Pobieranie identyfikatorów UUID.
  4. Zatrzymaj router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. 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"

    Zapoznaj się z sekcją Informacje o podach.

  6. Wyrejestruj typ serwera:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. Wyrejestruj serwer:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Odinstaluj edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Zobacz Usuwanie serwera.
  9. Usuń reguły iptables, aby włączyć zablokowany port 15999:
    iptables -F

procesor komunikatów

W tej sekcji opisaliśmy, jak wyłączyć procesor wiadomości ze źródła dc-1. Więcej informacji na temat usuwania procesora wiadomości znajdziesz w artykule Usuwanie serwera.

Zakładamy, że w dc-1 występuje instalacja złożona z 12 węzłów, dlatego w dc-1 skonfigurowano 2 węzły procesora wiadomości. Wykonaj poniższe polecenia w obu węzłach.

  1. Uzyskaj identyfikatory UUID procesorów wiadomości zgodnie z opisem w sekcji Uzyskiwanie identyfikatorów UUID.
  2. Zatrzymaj procesor wiadomości:
    apigee-service edge-message-processor stop
  3. Wyrejestruj typ serwera:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. 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"
  5. 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"
  6. Odinstaluj procesor wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Wyrejestruj serwer:
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Serwer Qpid i Qpidd

W tej sekcji dowiesz się, jak wyłączyć serwer Qpid (edge-qpid-server) i Qpidd (apigee-qpidd). W dc-1 skonfigurowano 2 węzły Qpid, więc w przypadku obu węzłów musisz wykonać te czynności:

  1. Uzyskaj identyfikator UUID dla Qpidd w sposób opisany w sekcji Uzyskiwanie identyfikatorów UUID.
  2. Zatrzymaj edge-qpid-server i apigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Uzyskaj listę Analytics i grup klientów:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. 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}"
  5. Usuń Qpid z grupy analityki:
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Wyrejestruj serwer Qpid z instalacji brzegowej:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Usuń serwer Qpid z instalacji brzegowej:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Ponownie uruchom wszystkie komponenty Edge-qpid-server we wszystkich węzłach, aby upewnić się, że te komponenty przechwytują 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
  9. 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

Zamykane centrum danych może mieć środowisko główne Postgres lub gotowości Postgres. W tych sekcjach dowiesz się, jak je usunąć:

Wycofuję instancję główną Postgres

Uwaga: po wyłączeniu instancji głównej Postgres pamiętaj, aby awansować dowolny z dostępnych węzłów gotowości jako nowego głównego głównego serwera Postgres. Podczas gdy kolejka QPID przechowuje dane bufora, jeśli master Postgres przez dłuższy czas jest niedostępny, ryzykujesz utratę danych analitycznych.

Aby wycofać instancję główną Postgres:

  1. Utwórz kopię zapasową węzła głównego dc-1 Postgres, wykonując instrukcje podane w tych linkach:
  2. Uzyskaj identyfikatory UUID serwerów Postgres zgodnie z opisem w sekcji Uzyskiwanie identyfikatorów UUID.
  3. Przy dc-1 zatrzymaj edge-postgres-server i apigee-postgresql na bieżącym masterze:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. W węźle gotowości na dc-2 wpisz to polecenie, aby 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ż jeden węzeł gotowości 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 poniżej w odpowiedniej sekcji:

    Jeśli pozostanie tylko 1 węzeł gotowości

    Załóżmy na przykład, że przed wyłączeniem zostały skonfigurowane 3 węzły Postgres. Istniejący master został wycofany i awansowano jeden z pozostałych węzłów gotowości postgres do roli mastera. Aby skonfigurować pozostały węzeł gotowości, wykonaj te czynności:

    1. W nowym wzorcu edytuj plik konfiguracji, aby ustawić:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. 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

    1. Dodaj w /opt/apigee/customer/application/postgresql.properties tę konfigurację:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Sprawdź, czy plik /opt/apigee/customer/application/postgresql.properties należy do użytkownika apigee:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Uruchom ponownie instancję apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. Aby zaktualizować ustawienia replikacji w węźle gotowości:

      1. Zmodyfikuj plik konfiguracji /opt/silent.conf i zaktualizuj w polu PG_MASTER adres IP nowego mastera Postgres.
      2. Usuń wszystkie stare dane Postgres za pomocą tego polecenia:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Skonfiguruj replikację w węźle gotowości:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. 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
    6. Usuń serwery Postgresql i dodaj je z grupy analityki i grupy klientów.
      1. Usuń stary serwer Postgres z grupy analitycznej, postępując zgodnie z instrukcjami w artykule Usuwanie serwera Postgres z grupy analitycznej.
      2. Dodaj nowy serwer postgres do grupy Analytics, wykonując instrukcje podane w artykule Dodawanie istniejącego serwera Postgres do grupy Analytics.
    7. Wyrejestruj stary serwer postgres z dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. Usuń stary serwer postgres z dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. Starego głównego mastera Postgres można teraz bezpiecznie zamknąć. Odinstaluj edge-postgres-server i apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Wyłączam tryb gotowości Postgres

    Uwaga: w dokumentacji instalacji klastrowej z 12 węzłami widać węzeł dc-1 postgresql jako główny, ale dla wygody w tej sekcji zakładamy, że węzeł dc-1 postgresql jest w trybie gotowości, a węzeł dc-2 postgresql jest masterem.

    Aby wyłączyć tryb gotowości Postgres, wykonaj te czynności:

    1. Uzyskaj identyfikatory UUID serwerów Postgres, wykonując instrukcje podane w artykule Uzyskiwanie identyfikatorów UUID.
    2. Zatrzymanie 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
    3. Usuń serwery Postgresql i dodaj je z grupy analityki i grupy klientów.
      1. Usuń stary serwer Postgres z grupy analitycznej, postępując zgodnie z instrukcjami w artykule Usuwanie serwera Postgres z grupy analitycznej.
      2. Dodaj nowy serwer postgres do grupy Analytics, wykonując instrukcje podane w artykule Dodawanie istniejącego serwera Postgres do grupy Analytics.
    4. Wyrejestruj stary serwer postgres z dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. Usuń stary serwer postgres z dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. Starego głównego mastera Postgres można teraz bezpiecznie zamknąć. Odinstaluj edge-postgres-server i apigee-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 wyłączyć serwery ZooKeeper i Cassandra w konfiguracji 2 centrów danych.

    Jeśli masz więcej niż 2 centra danych, pamiętaj, aby usunąć wszystkie odwołania do usuwanego węzła (w tym przypadku dc-1) ze wszystkich plików konfiguracji dyskretnych we wszystkich pozostałych centrach danych. W przypadku węzłów Cassandra, które mają zostać wycofane, usuń je z CASS_HOSTS. Pozostałe węzły Cassandra powinny pozostać w pierwotnej kolejności, która wynosi CASS_HOSTS.

    Uwaga dotycząca zooKeeper: aby zespół ZooKeeper działał, podczas modyfikowania właściwości ZK_HOST w pliku konfiguracyjnym musisz utrzymać kworum liczby węzłów wyborczych. W konfiguracji musisz mieć nieparzystą liczbę węzłów głosujących. Więcej informacji znajdziesz w opisie zadań konserwacji Apache ZooKeeper.

    Aby wyłączyć serwery ZooKeeper i Cassandra:

    1. Utwórz kopię zapasową węzłów dc-1 Cassandra i ZooKeeper, wykonując instrukcje dostępne po kliknięciu tych linków:
    2. Wyświetl identyfikatory UUID serwerów ZooKeeper i Cassandra w centrum danych, w którym węzły Cassandra zostaną wkrótce wycofane.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. 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&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Wyrejestruj serwer:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Zaktualizuj plik konfiguracji, podając adresy IP wycofanych węzłów usuniętych z: ZK_HOSTS i CASS_HOSTS.

      Przykład: załóżmy, że masz adresy IP $IP1 $IP2 $IP3 w dc-1 i $IP4 $IP5 $IP6 w dc-2 oraz rezygnujesz z dc-1. Następnie usuń adresy IP $IP1 $IP2 $IP3 z plików konfiguracji.

      • Istniejące wpisy plików 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"
    6. Zaktualizuj plik konfiguracji w trybie cichym (zmodyfikowany w kroku e) o adresy IP usuniętych wycofanych węzłów 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
    7. Zaktualizuj plik konfiguracji o adresy IP usuniętych węzłów wycofanych z eksploatacji i 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 te informacje:

        W przypadku routera:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        W przypadku podmiotu przetwarzającego wiadomości:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Skonfiguruj ponownie wszystkie węzły Qpid z adresami IP wycofanych węzłów usuniętych z pliku odpowiedzi:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Skonfiguruj ponownie wszystkie węzły Postgres z adresami IP wycofanych węzłów usuniętych z pliku odpowiedzi:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Zmień odstępy klawiszy system_auth. Jeśli w istniejącym węźle Cassandra masz włączone uwierzytelnianie Cassandra, zaktualizuj współczynnik replikacji przestrzeni kluczy system_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 wskazuje 3 węzły Cassandra w klastrze. W razie potrzeby zmień tę wartość.

      Gdy wykonasz ten krok, topologia Cassandra nie powinna zawierać dc-1 w żadnej z przestrzeni kluczy.

    11. Wyłącz pojedynczo węzły Cassandra na dc-1.

      Aby wycofać węzły Cassandra, wpisz to polecenie:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. 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>'

      Dodatkowe polecenie weryfikacyjne, które ma zostać uruchomione w wycofanym węźle:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      Powyższe polecenie powinno zwrócić:

      Mode: DECOMMISSIONED

    13. 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
    14. Zatrzymaj apigee-cassandra i apigee-zookeeper w dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Odinstaluj apigee-cassandra i apigee-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:

    1. Usuń powiązania z dc-1.
      1. Wyświetl listę wszystkich podów dostępnych w organizacji:
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. 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 poprzednie kroki usunęły wszystkie powiązania. Możesz pominąć następny krok. W przeciwnym razie wykonaj następny krok.

      3. 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
      4. Usuń powiązanie organizacji z podem:
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Usuń pody:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. 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 dany serwer w podzie nadal istnieje. Dlatego usuń je, wykonując czynności opisane poniżej, dostosowując ich typy w poleceniu curl.

    Na tym etapie zakończono wycofywanie dc-1.

    Dodatek

    Rozwiązywanie problemów

    Jeśli po wykonaniu poprzednich kroków w niektórych podach nadal są serwery, wykonaj te czynności, aby je wyrejestrować i usunąć. Uwaga: w razie potrzeby zmień typy i bloki reklamowe.

    1. Uzyskaj identyfikatory UUID za pomocą tego polecenia:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. 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"
    3. Usuń serwery pojedynczo:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Weryfikacja

    Za pomocą poniższych poleceń możesz sprawdzić poprawność wycofania.

    Serwer zarządzania

    Uruchom poniższe polecenia z poziomu serwerów zarządzania we wszystkich regionach.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    Uruchom poniższe polecenie w przypadku wszystkich komponentów, 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

    Węzły Cassandra/ZooKeeper

    We wszystkich węzłach Cassandra wpisz:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    Zwróci ona stan running lub not running dla tego konkretnego węzła.

    W 1 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 aktywnym centrum danych.

    W węzłach ZooKeeper najpierw wpisz:

    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 jedną z następujących: observer, leader lub follower.

    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ź informuje, że węzeł jest węzłem nadrzędnym.

    W węźle gotowości:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Sprawdź, czy odpowiedź informuje, ż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, wpisz hasło użytkownika „postgres” jako 'postgres'. Wybierz max(client_received_start_timestamp) ze statystyk.

    ”$org.$env.fact” limit 1;

    Logi

    Sprawdź logi komponentów, aby upewnić się, że nie ma błędów.