Edge for Private Cloud w wersji 4.18.01
W przypadku błędu podczas aktualizacji do Edge 4.18.01 możesz przywrócić komponent, który spowodował błąd, a następnie ponowić próbę aktualizacji. Jeśli na przykład aktualizacja do Postgres 9.6 się nie powiedzie, możesz wycofać zmiany tylko w węzłach Postgres i spróbować ponownie przeprowadzić aktualizację.
Są 2 sytuacje, w których warto przeprowadzić przywrócenie:
- Przywróć starszą wersję. Na przykład od 4.18.01 do 4.17.01.
- Przywrócenie starszej wersji w tej samej wersji.
Wykonaj poniższą procedurę, by przywrócić zmiany w obu scenariuszach.
Kto może przywracać zmiany
Użytkownik wykonujący przywrócenie musi być taki sam jak użytkownik, który pierwotnie zaktualizował Edge, lub użytkownik root.
Domyślnie komponenty Edge są uruchamiane jako użytkownik „apigee”. W niektórych przypadkach komponenty Edge mogą być używane jako różni użytkownicy. Jeśli na przykład router musi mieć dostęp do portów z podwyższonymi uprawnieniami, takich jak te poniżej 1000, musisz uruchomić router jako użytkownik root lub jako użytkownik z dostępem do tych portów. Możesz też uruchomić jeden komponent jako jeden użytkownik, a drugi jako inny użytkownik.
Komponenty, które można wycofać
Podczas przywracania wcześniejszej wersji pamiętaj o tych warunkach:
- Pięć wymienionych poniżej komponentów Edge ma ten sam kod. Dlatego, aby wycofać dowolny z 5 komponentów w węźle, musisz wycofać dowolny z pięciu zainstalowanych w nim komponentów. Jeśli na przykład w węźle są zainstalowane serwer zarządzania, router i procesor wiadomości, to aby przywrócić dowolny z nich, musisz przywrócić wszystkie 3 elementy.
Pięć komponentów współużytkowanych kodu:
- Serwer zarządzania
- Router
- procesor komunikatów
- Serwer Qpid
- Serwer Postgres
- Jeśli przeprowadzasz aktualizację z wersji Edge 4.16.01, nie przywracaj wersji Cassandra. Ta wersja Edge zawiera zaktualizowaną wersję Cassandra. Jeśli przywrócisz komponenty, pozostaw Cassandra w wersji 4.18.01.
Od 18.01.
Ta sekcja zawiera procedurę przywracania Edge 4.18.01 do poprzedniej wersji. Ta sekcja jest podzielona na 2 części:
- Wycofywanie aktualizacji Postgres
Ostatnim etapem każdej procedury aktualizacji jest zaktualizowanie węzłów Postgres do wersji 9.6. Jeśli aktualizacja się nie powiedzie, możesz ją przywrócić, korzystając z tej procedury. - Przywracanie wszystkich innych komponentów Edge
Skorzystaj z tej procedury, aby przywrócić wszystkie pozostałe komponenty Edge.
Aby wycofać aktualizację Postgres 9.6
Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji gotowości, wykonaj te czynności:
- Awansuj nowy węzeł gotowości na status mastera Postgres. Nowy master Postgres będzie w tej samej wersji co poprzednia instalacja Edge.
- Skonfiguruj stary węzeł gotowości jako węzeł gotowości dla nowego węzła głównego. Stary węzeł gotowości będzie w tej samej wersji co poprzednia instalacja Edge.
- Zarejestruj nowe węzły główne i zapasowe w grupach analitycznych i konsumentów.
Po zakończeniu przywracania stary węzeł nadrzędny nie będzie już potrzebny. Możesz wtedy wyłączyć stary węzeł nadrzędny.
- Sprawdź, czy nowy węzeł gotowości Postgres jest uruchomiony:
> /opt/apigee/apigee-service/bin/apigee-all status
Jeśli Postgres nie jest uruchomiony, uruchom go:
> /opt/apigee/apigee-service/bin/apigee-all start
- Upewnij się, że w starym węźle głównym i starym węźle gotowości jego usługa Postgres jest zatrzymana:
> /opt/apigee/apigee-service/bin/apigee-all status
Jeśli Postgres jest uruchomiony, zatrzymaj go:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Jeśli moduł Qpid został zainstalowany, uruchom go w starym węźle gotowości:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Awansuj nowy węzeł gotowości jako węzeł główny Postgres:
- Wyznacz nowy węzeł gotowości na nowy węzeł nadrzędny:
> apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
Jeśli pojawi się prośba, wpisz hasło użytkownika „apigee” do Postgres. Wartością domyślną jest „postgres”.
- Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Skonfiguruj nowy wzorzec:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Wyznacz nowy węzeł gotowości na nowy węzeł nadrzędny:
- Ponownie utwórz stary węzeł gotowości:
- Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Usuń katalog danych w starym węźle gotowości:
> cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Skonfiguruj ponownie stary węzeł gotowości jako węzeł gotowości dla nowego węzła głównego:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Upewnij się, że Postgres działa w starym węźle gotowości:
> /opt/apigee/apigee-service/bin/apigee-all status
Jeśli nie jest uruchomiony, uruchom go:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
- Sprawdź, czy został dodany nowy węzeł gotowości, wyświetlając plik
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
w nowym masterze. - Wyświetl bieżące statystyki i informacje o grupie klientów, uruchamiając na serwerze zarządzania to polecenie:
> curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
To polecenie zwraca nazwę grupy Analytics w polu
name
oraz nazwę grupy konsumentów w poluname
w sekcjiconsumer-groups
. Zwraca też identyfikatory UUID starego węzła głównego Postgres i węzłów gotowości w polachpostgres-server
idatastores
. Dane wyjściowe powinny mieć postać:{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test", "sgilson~prod" ], "uuids" : { "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ], "properties" : { } } ], "data-processors" : { } }
- Uzyskaj adres UUID starego węzła głównego, uruchamiając w nim to polecenie cURL:
> curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
Identyfikator UUID węzła powinien pojawić się na końcu danych wyjściowych w formie:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Powtórz poprzedni krok, aby uzyskać adresy IP starego węzła gotowości i nowego węzła głównego.
- Usuń z grupy klientów stare węzły główne i gotowości:
> curl -u sysAdminEmail:password -X DELETE "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
gdzie axgroup-001 i consumer-group-001 to domyślne nazwy grup użytkowników i analityki. Kolejność masterUUID,standbyUUID jest taka sama jak powyżej podczas wyświetlania bieżących statystyk i informacji o grupie klientów. Być może trzeba będzie określić je jako standbyUUID,masterUUID.
Właściwość
datastores
elementuconsumer-groups
powinna być teraz pusta. - Usuń z grupy analityki Analytics stary węzeł główny i węzeł gotowości:
> curl -u sysAdminEmail:password -X DELETE "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
Właściwość
postgres-server
w poluuuids
powinna być teraz pusta. - Zarejestruj nowe węzły główne i zapasowe PG w grupach analitycznych i konsumentów:
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
- Zweryfikuj grupę analityczną:
> curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Powinny się wyświetlić identyfikatory UUID nowych węzłów głównych i gotowości na liście w grupie analityki i grupie konsumentów.
- Ponownie uruchom serwer zarządzania brzegowymi:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Uruchom ponownie wszystkie serwery Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Uruchom ponownie wszystkie serwery Postgres:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Sprawdź stan replikacji, uruchamiając te skrypty na obu serwerach. System powinien wyświetlać identyczne wyniki na obu serwerach, aby zapewnić prawidłową replikację:
Na nowym wzorcu uruchom polecenie:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Potwierdź, że jest oznaczony jako master. W starym węźle gotowości:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Potwierdź, że jest w trybie gotowości.
- Po wykonaniu kilku żądań do interfejsu API powtórz poprzedni krok, aby upewnić się, że węzły są zsynchronizowane.
- Usuń starego mastera Postgres, wykonując procedurę aktualizacji Apigee Edge z wersji 4.16.01/4.16.05 do 4.17.09.
Możesz też odinstalować Qpid ze starego głównego węzła i zainstalować Qpid w nowym węźle nadrzędnym, zgodnie z poniższym opisem. Po odinstalowaniu Qpid możesz wyłączyć stary węzeł główny.
Odinstaluj Qpid ze starego mastera i zainstaluj Qpid na nowym
Wykonaj te czynności, aby odinstalować Qpid ze starego mastera i zainstalować go w nowym:
- Zablokuj dostęp firmom przetwarzającym wiadomości do portu Qpid 5672 w starym masterze, uruchamiając to polecenie we wszystkich procesorach wiadomości:
> iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- Sprawdź, czy kolejka wiadomości Qpid jest pusta, uruchamiając poniższe polecenie. Nie możesz odinstalować Qpid, dopóki nie przetworzy on wszystkich oczekujących wiadomości:
> qpid-stat -q
To polecenie wyświetla tabelę z liczbą zdarzeń
msg, msgIn, and msgOut
. Wszystkie wiadomości zostaną przetworzone w dniachmsg=0
imsgIn=msgOut
. - Ustal identyfikator UUID serwera Qpid na starym masterze, uruchamiając następujące polecenie na starym masterze. Zapisz te informacje na później:
> curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Zatrzymaj Qpid na starym masterze:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Odinstaluj serwer Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
- Usuń stary serwer Qpid z grup analitycznych i grup konsumentów:
> curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v > curl -u sysAdminEmail:password -X DELETE "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
- Usuń stary serwer Qpid z Zookeeper:
> curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/qpid_UUID
- Zainstaluj Qpid w nowym masterze:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- Określ identyfikator UUID serwera Qpid w nowym masterze, uruchamiając na nim poniższe polecenie. Zapisz te informacje na później:
> curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Zarejestruj nowy serwer Qpid w grupach analitycznych i grup konsumentów:
> curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
- Uruchom ponownie wszystkie procesory wiadomości:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Uruchom to polecenie na nowym serwerze Qpid, aby sprawdzić, czy kolejki zostały utworzone:
> qpid-stat -q
Upewnij się, że wartości
msg, msgIn i msgOut są aktualizowane w miarę przetwarzania wiadomości przez serwer Qpid.
Aby przywrócić poszczególne komponenty z wersji 4.18.01
W ramach procesu przywracania musisz pobrać plik bootstrap.sh dla bieżącej wersji Edge:
- Aby wrócić do wersji 4.17.09, pobierz
bootstrap_4.17.09.sh
- Aby wrócić do wersji 4.17.05, pobierz
bootstrap_4.17.05.sh
- Aby wrócić do wersji 4.17.01, pobierz
bootstrap_4.17.01.sh
- Aby wrócić do wersji 4.16.09, pobierz
bootstrap_4.16.09.sh
- Aby wrócić do wersji 4.16.05, pobierz
bootstrap_4.16.05.sh
- Aby wrócić do wersji 4.16.01, pobierz
bootstrap.sh
W przypadku każdego węzła hostującego komponent, który ma zostać przywrócony:
- Zatrzymaj komponent, który chcesz przywrócić:
- Jeśli przywracasz jeden z tych komponentów w węźle, musisz zatrzymać go wszystkie: serwer zarządzania, router, procesor wiadomości, serwer Qpid lub serwer Postgres:
> apigee-service edge-management-server stop
> apigee-service edge-router stop
> apigee-service edge-message-processor stop
> apigee-service edge-qpid-server stop
> apigee-service edge-postgres-server stop
- Jeśli przywracasz inny komponent w węźle, zatrzymaj tylko ten:
> apigee-service comp stop
- Jeśli przywracasz jeden z tych komponentów w węźle, musisz zatrzymać go wszystkie: serwer zarządzania, router, procesor wiadomości, serwer Qpid lub serwer Postgres:
- Jeśli przywracasz poprzednią wersję funkcji Generowanie przychodu, odinstaluj ją ze wszystkich węzłów serwera zarządzania i procesora wiadomości:
> apigee-service edge-mint-gateway uninstall
- Aby przywrócić poprzednią wersję węzła, odinstaluj komponent:
- Jeśli przywracasz którykolwiek z tych komponentów w węźle, odinstaluj je wszystkie: serwer zarządzania, router, procesor wiadomości, serwer Qpid lub serwer Postgres:
> apigee-service edge-gateway uninstall
- Jeśli przywracasz inny komponent w węźle, odinstaluj tylko ten:
> apigee-service comp uninstall
- Jeśli przywracasz poprzednią wersję routera, musisz usunąć zawartość
/opt/nginx/conf.d
:> cd /opt/nginx/conf.d > rm -rf *
- Jeśli przywracasz którykolwiek z tych komponentów w węźle, odinstaluj je wszystkie: serwer zarządzania, router, procesor wiadomości, serwer Qpid lub serwer Postgres:
-
Aby przywrócić komponent:
- Odinstaluj wersję
apigee-setup
.18.01:> /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Pobierz plik bootstrap.sh dla wybranej wersji: na przykład dla wersji 4.16.09:
> curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh
- Zainstaluj narzędzie i jego zależności w wersjach 4.16.01, 4.16.05 lub 4.16.09
apigee-service
. Na przykład dla 4.16.09:> sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord
gdzie uName i pWord to nazwa użytkownika i hasło otrzymane z Apigee. Jeśli pominiesz właściwość pWord, pojawi się prośba o jej podanie.
- Zainstaluj
apigee-setup
:> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Zainstaluj żądaną wersję komponentu:
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
gdzie comp to komponent do zainstalowania, a configFile to plik konfiguracji wybranej wersji.
- Jeśli przywracasz Qpid, wyczyść iptables:
> sudo iptables -F
- Odinstaluj wersję
- Aby przywrócić komponent do określonej wersji 4.18.01:
- Pobierz konkretną wersję komponentu:
> /opt/apigee/apigee-service/bin/apigee-service comp-version install
gdzie comp-version to komponent i wersja do zainstalowania. Na przykład:
> /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install
Jeśli używasz repozytorium online Apigee, możesz sprawdzić dostępne wersje komponentów, używając tego polecenia:
> yum --showduplicates list comp
Na przykład:
> yum --showduplicates list edge-ui
- Aby zainstalować komponent, użyj narzędzia
apigee-setup
:> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Na przykład:
> /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Pamiętaj, że nazwę komponentu musisz określić tylko podczas instalacji.
- Pobierz konkretną wersję komponentu:
Jeśli podczas przywracania wcześniejszej wersji wystąpią problemy, skontaktuj się z zespołem pomocy Apigee Edge.