Wycofanie Centrum danych

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ądku CASS_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:

  1. Interfejs Edge (edge-ui)
  2. Serwer zarządzania (edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. Router (edge-router)
  5. Procesor wiadomości (edge-message-processor)
  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 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:

  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 zarejestruj je wszystkie.
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. 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:

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

    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 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
    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 być podobne do tych:

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"
  3. 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.

    1. 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}
    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ą wyglądać tak:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
    3. 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
    4. 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"
  4. Zatrzymaj 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 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:

  1. 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
  2. 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
  3. Pobierz identyfikator UUID routera, wykonując czynności opisane w artykule Pobieranie identyfikatorów UUID.
  4. Zatrzymaj router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. 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.

  6. 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"
  7. Wyrejestruj serwer:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Odinstaluj aplikację edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Zobacz Usuwanie serwera.
  9. 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.

  1. Pobierz identyfikatory UUID procesorów wiadomości zgodnie z instrukcjami podanymi w sekcji Pobieranie identyfikatorów UUID.
  2. Zatrzymaj przetwarzanie 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&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  4. 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"
  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 przetwarzacz 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

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:

  1. Uzyskaj identyfikator UUID Qpidd w sposób opisany w artykule Pobieranie identyfikatorów UUID.
  2. Zatrzymaj edge-qpid-serverapigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Aby uzyskać listę grup Analytics i grup konsumentów:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. 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}"
  5. 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"
  6. Odrejestruj serwer Qpid z instalacji Edge:
    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 Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. 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
  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

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:

  1. Utwórz kopię zapasową węzła głównego Postgres dc-1, wykonując instrukcje podane w tych artykułach:
  2. Uzyskaj identyfikatory UUID serwerów Postgres zgodnie z opisem w artykule Uzyskiwanie identyfikatorów UUID.
  3. Na dc-1 zatrzymaj edge-postgres-server i apigee-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
  4. 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:

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

    1. 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
    2. 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
    3. Ponownie uruchom aplikację apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. Aby zaktualizować ustawienia replikacji na węźle zapasowym:

      1. Zmodyfikuj plik konfiguracji /opt/silent.conf i zaktualizuj pole PG_MASTER, podając adres IP nowego serwera głównego Postgres.
      2. Usuń wszystkie stare dane Postgres za pomocą tego polecenia:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Skonfiguruj replikację na węźle zapasowym:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. 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
    6. Usuń i dodaj serwery Postgresql z grupy analitycznej i grupy konsumentów.
      1. Usuń stary serwer Postgres z grupy analitycznej, wykonując instrukcje podane w artykule Usuwanie serwera Postgres z grupy analitycznej.
      2. Dodaj nowy serwer Postgres do grupy analitycznej, wykonując instrukcje podane w artykule Dodawanie istniejącego serwera Postgres do grupy analitycznej.
    7. 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"
            
    8. Usuń stary serwer postgres z dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. Starą instancję główną Postgresa można teraz bezpiecznie wycofać z użycia. Odinstaluj edge-postgres-serverapigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    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:

    1. Uzyskaj identyfikatory UUID serwerów Postgres, wykonując instrukcje podane w artykule Uzyskiwanie identyfikatorów UUID.
    2. 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
    3. Usuń i dodaj serwery Postgresql z grupy analitycznej i grupy konsumentów.
      1. Usuń stary serwer Postgres z grupy analitycznej, wykonując instrukcje podane w artykule Usuwanie serwera Postgres z grupy analitycznej.
      2. Dodaj nowy serwer Postgres do grupy analitycznej, wykonując instrukcje podane w artykule Dodawanie istniejącego serwera Postgres do grupy analitycznej.
    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. Starą instancję główną Postgresa można teraz bezpiecznie wycofać z użycia. Odinstaluj edge-postgres-serverapigee-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ądku CASS_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:

    1. Utwórz kopie zapasowe węzłów Cassandra i ZooKeeper w dc-1, postępując zgodnie z instrukcjami podanymi w tych artykułach:
    2. 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
    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, usuwając z niego adresy IP usuniętych węzłów z ZK_HOSTSCASS_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"
    6. 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
    7. 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
    8. 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
    9. 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
    10. Zmień przestrzeń kluczy system_auth. Jeśli na istniejącym węźle Cassandra masz włączoną autoryzację Cassandra, zaktualizuj współczynnik replikacji przestrzeni kluczy system_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.

    11. 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
    12. 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
    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-cassandraapigee-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świetlanie listy wszystkich dostępnych modułów 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, 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.

      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. Odłącz organizację od bloku reklamowego:
        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

    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.

    1. 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
    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

    Aby zweryfikować wycofanie, użyj tych poleceń.

    Serwer zarządzania

    1. 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&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
    2. 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
    3. 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
    4. Węzły Cassandra/ZooKeeper

      1. Na wszystkich węzłach systemu Cassandra wpisz:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

        Zwróci on stan running lub not running dla danego węzła.

      2. 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.

      3. 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 lub follower.

      4. W jednym węźle ZooKeeper uruchom:
        /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
      5. 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.

      6. 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.

      7. 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;

      Logi

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