Edge for Private Cloud w wersji 4.18.05
Jeśli podczas aktualizacji do Edge 4.18.05 napotkasz błąd, możesz przywrócić komponent, który spowodował błąd, i spróbować ponownie przeprowadzić aktualizację.
W przeglądarce Edge 4.18.05 możesz przywrócić te wersje nowych funkcji:
- Wersja 4.18.01
- Wersja 4.17.09*
- Wersja 4.17.05*
* Aby wycofać zmiany z wersji 4.18.05 na 4.17.09 lub 4.17.05, oprócz przywrócenia komponentów w każdym węźle musisz przywrócić Postgres. Jeśli wrócisz do wersji 4.18.01, nie musisz wycofywać Postgres, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.
Są 2 sytuacje, w których warto przeprowadzić przywrócenie:
- Przywracanie poprzedniej wersji funkcji Na przykład od 4.18.05 do 4.18.01.
- Przywracanie poprzedniej wersji aktualizacji tej samej wersji. Na przykład od 4.18.05.02 do 4.18.05.01.
Więcej informacji znajdziesz w artykule o procesie publikowania Apigee Edge.
Kto może przywracać zmiany
Użytkownik wykonujący przywracanie 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 ze wspólnym kodem
Poniższe komponenty Edge mają wspólny kod. Dlatego, aby wycofać dowolny z tych komponentów w węźle, musisz przywrócić wszystkie te komponenty, które znajdują się w tym węźle.
edge-management-server
(serwer zarządzania)edge-message-processor
(procesor wiadomości)edge-router
(router)edge-postgres-server
(serwer Postgres)edge-qpid-server
(serwer Qpid)
Jeśli na przykład w węźle zainstalowano serwer zarządzania, router i procesor wiadomości, to aby przywrócić dowolny z nich, musisz przywrócić wszystkie 3 z nich.
Przywracanie poprzedniej wersji funkcji
Aby wycofać zmiany z wersji 4.18.05 na 4.17.09 lub 4.17.05, oprócz przywrócenia komponentów w każdym węźle musisz przywrócić Postgres. Jeśli cofniesz wersję 4.18.01, nie musisz tego robić, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.
Aby przywrócić poprzednią wersję funkcji, wykonaj te czynności w każdym węźle hostującym komponent:
-
Pobierz plik
bootstrap.sh
odpowiadający wersji, do której chcesz przywrócić poprzednią wersję:- Aby przywrócić wersję 4.18.01, pobierz
bootstrap_4.18.01.sh
:curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
- Aby przywrócić wersję 4.17.09, pobierz
bootstrap_4.17.09.sh
:curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
- Aby przywrócić wersję 4.17.05, pobierz
bootstrap_4.17.05.sh
:curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
- Aby przywrócić wersję 4.18.01, pobierz
- Zatrzymaj komponent, aby przywrócić poprzednią wersję:
- Aby wycofać dowolny komponent ze wspólnym kodem w węźle, musisz zatrzymać je wszystkie, jak pokazano w tym przykładzie:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
- Aby wycofać dowolny inny komponent w węźle, zatrzymaj tylko ten komponent:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Aby wycofać dowolny komponent ze wspólnym kodem w węźle, musisz zatrzymać je wszystkie, jak pokazano w tym przykładzie:
- Jeśli przywracasz poprzednią wersję funkcji Generowanie przychodu, odinstaluj ją ze wszystkich węzłów serwera zarządzania i procesora wiadomości:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Odinstaluj komponent, aby wycofać zmiany w węźle:
- Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz je wszystkie odinstalować, odinstalowując grupę komponentów
edge-gateway
, jak pokazano w tym przykładzie:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Aby wycofać dowolny inny komponent w węźle, odinstaluj tylko ten komponent zgodnie z tym przykładem:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
Gdzie component to nazwa komponentu.
- Aby wycofać zmiany z routera Edge, oprócz odinstalowania grupy komponentów
edge-gateway
musisz usunąć zawartość pliku/opt/nginx/conf.d
:cd /opt/nginx/conf.d
rm -rf *
- Aby wycofać dowolny z komponentów ze wspólnym kodem w węźle, musisz je wszystkie odinstalować, odinstalowując grupę komponentów
- Odinstaluj wersję 4.18.05
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Zainstaluj wersję 4.18.01, 4.17.09 lub 4.17.05 narzędzia
apigee-service
i jego zależności. Ten przykład pokazuje zainstalowanie wersji 4.17.09 kluczaapigee-service
:sudo bash /tmp/bootstrap_4.17.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, poprosimy Cię o jej podanie.
Jeśli pojawi się błąd, sprawdź, czy w kroku 1 został pobrany plik
bootstrap.sh
. - Zainstaluj
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Zainstaluj starszą wersję komponentu:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Gdzie component to komponent do zainstalowania, a configFile to plik konfiguracji dla starszej wersji.
- Jeśli przywracasz Qpid, wyczyść iptables:
sudo iptables -F
- Powtórz ten proces dla każdego węzła hostującego przywracany komponent.
Aby wycofać zmiany z wersji 4.18.05 na 4.17.09 lub 4.17.05, oprócz przywrócenia komponentów w każdym węźle musisz przywrócić Postgres. Jeśli cofniesz wersję 4.18.01, nie musisz tego robić, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.
Przywracanie poprzedniej wersji aktualizacji
Aby przywrócić komponent do określonej wersji wersji, w każdym węźle, który hostuje komponent, wykonaj te czynności:
- Pobierz konkretną wersję komponentu:
/opt/apigee/apigee-service/bin/apigee-service component_version install
Gdzie component_version to komponent i wersja aktualizacji 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 za pomocą 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 podczas instalacji podajesz tylko nazwę komponentu, a nie wersję.
- Powtórz ten proces dla każdego węzła hostującego przywracany komponent.
Aby wycofać zmiany z wersji 4.18.05 na 4.17.09 lub 4.17.05, oprócz przywrócenia komponentów w każdym węźle musisz przywrócić Postgres. Jeśli cofniesz wersję 4.18.01, nie musisz tego robić, ponieważ proces uaktualniania nie zawierał aktualizacji Postgres.
Cofanie aktualizacji Postgres 9.6
W przypadku uaktualnienia do wersji 4.18.05 z wersji 4.17.05 lub 4.17.09 musisz wycofać aktualizację Postgres nie tylko z komponentami Edge.
Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji gotowości głównej:
- 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 na 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 formacie:
"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 głównym. Po odinstalowaniu Qpid możesz wyłączyć stary węzeł główny.
Odinstaluj Qpid ze starego mastera i zainstaluj Qpid na nowym
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
Sprawdź, czy gdy serwer Qpid przetwarza komunikaty,
msg
,msgIn
imsgOut
są aktualizowane.
Jeśli podczas przywracania wcześniejszej wersji wystąpią problemy, skontaktuj się z zespołem pomocy Apigee Edge.