Ten dokument opisuje sposób dodawania centrum danych (nazywanego też regionem) do istniejących danych pomocy.
Uwagi do rozważenia przed dodaniem centrum danych
Zanim zainstalujesz centrum danych, musisz dowiedzieć się, jak skonfigurować OpenLDAP. Serwery ZooKeeper, Cassandra i Postgres w centrach danych. Dopilnuj także, aby linki między węzłami w dwóch centrach danych są otwarte niezbędne porty.
- OpenLDAP
Każde centrum danych ma własny serwer OpenLDAP skonfigurowany z włączoną replikacją. Gdy zainstaluj nowe centrum danych, musisz skonfigurować OpenLDAP tak, aby używał replikacji, a także ponownie skonfigurować serwer OpenLDAP w istniejącym centrum danych, aby korzystał z replikacji.
- ZooKeeper
W przypadku usługi
ZK_HOSTS
dla obu centrów danych, podaj adresy IP lub nazwy DNS wszystkich węzłów ZooKeeper z obu danych w tej samej kolejności i oznaczyć wszystkie węzły modyfikatorem „:observer”. Węzły bez modyfikatora:observer
są nazywane „wyborcami”. Musisz mieć parametr liczba „wyborców” w ustawieniach konfiguracji.W tej topologii host ZooKeeper na hoście 9 jest obserwatorem:
W przykładowym pliku konfiguracji widocznym poniżej węzeł 9 jest oznaczony tagiem
:observer
, tak aby było 5 głosujących: węzły 1, 2, 3, 7 i 8.Dla:
ZK_CLIENT_HOSTS
dla każdego centrum danych, określ adresy IP lub nazwy DNS tylko dla węzłów w centrum danych, w tej samej kolejności dla wszystkich węzłów ZooKeeper w danych. pomocy. - Cassandra
Wszystkie centra danych muszą mieć tę samą liczbę węzłów Cassandra.
W przypadku
CASS_HOSTS
dla każdego centrum danych określ wszystkie adresy IP Cassandra. adresów (nie nazw DNS) obu danych w naszych centrach danych. W przypadku centrum danych 1 najpierw wymień węzły Cassandra znajdujące się w tym centrum danych. Do centrum danych 2, wymień najpierw węzły Cassandra w tym centrum danych. Wymień węzły Cassandra w tym samym dla wszystkich węzłów Cassandra w centrum danych.Wszystkie węzły Cassandra muszą mieć sufiks „:d,r”; na przykład 'ip:1,1 = centrum danych 1, stojak/strefa dostępności 1 i 'ip:2,1 = centrum danych 2 oraz stojak/strefę dostępności 1.
Na przykład „192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"
Pierwszy węzeł w 1 strefie stojaka/dostępności 1 każdego centrum danych będzie używany jako materiał wyjściowy serwera. W tym modelu wdrożenia konfiguracja Cassandra będzie wyglądać tak:
-
Postgres
Domyślnie Edge instaluje wszystkie węzły Postgres w trybie głównym. Jeśli jednak masz wiele możesz skonfigurować węzły Postgres tak, aby wykorzystywały replikację w trybie gotowości do mastera, dzięki czemu, jeśli węzeł nadrzędny ulegnie awarii, węzeł zapasowy może nadal przekazywać ruch z serwera. Zazwyczaj główny serwer Postgres w jednym centrum danych, a serwer gotowości w drugim pomocy.
Jeśli w istniejącym centrum danych są już uruchomione 2 węzły Postgres w trybie mastera/gotowania, w ramach tej procedury wyrejestruj istniejący węzeł gotowości zastąpić ją węzłem rezerwowym w nowym centrum danych.
W tabeli poniżej znajdziesz konfigurację Postgres przed i po scenariusze:
Przed Po Pojedynczy główny węzeł Postgres w dc-1
Główny węzeł Postgres w dc-1
Węzeł Postgres w stanie gotowości w dc-2
Główny węzeł Postgres w dc-1
Węzeł Postgres w stanie gotowości w dc-1
Główny węzeł Postgres w dc-1
Węzeł Postgres w stanie gotowości w dc-2
Wyrejestruj stary węzeł gotowości Postgres w dc-1
- Wymagania dotyczące portów
Musisz upewnić się, że między węzłami w 2 centrach danych są otwarte niezbędne porty. Schemat portów znajdziesz w artykule Wymagania dotyczące portów.
Aktualizacja istniejącego centrum danych
Dodawanie centrum danych wymaga wykonania kroków instalacji i konfiguracji nowych danych węzłów, ale wymaga też aktualizacji węzłów w pierwotnym centrum danych. Te konieczne jest wprowadzenie modyfikacji, ponieważ dodajesz nowe węzły Cassandra i ZooKeeper w nowym z centrum danych, które muszą być dostępne dla istniejącego centrum danych. Konieczne będzie ponowne skonfigurowanie OpenLDAP, aby użyć replikacji.
Tworzenie plików konfiguracji
Poniżej znajdują się dyskretne pliki konfiguracji dla dwóch centrów danych, z których każde centrum ma 6 węzłów, jak pokazano na stronie Topologie instalacji. Zwróć uwagę, że plik konfiguracyjny dc-1 dodaje dodatkowe ustawienia:
- Skonfiguruj OpenLDAP z replikacją w 2 węzłach OpenLDAP.
- Dodaj nowe węzły Cassandra i ZooKeeper z dc-2 do pliku konfiguracyjnego dc-1.
# Datacenter 1 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP1 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP7 APIGEE_LDAPPW=secret MP_POD=gateway-1 REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
# Datacenter 2 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP7 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=2 LDAP_PEER=$IP1 APIGEE_LDAPPW=secret MP_POD=gateway-2 REGION=dc-2 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
Dodaj nowe centrum danych
Aby dodać nowe centrum danych, wykonaj czynności opisane poniżej.
W ramach procedury centra danych następujące nazwy:
- dc-1: istniejące centrum danych.
- dc-2: nowe centrum danych.
Aby dodać nowe centrum danych:
- W przypadku dc-1 uruchom jeszcze raz plik setup.sh w pierwotnych węzłach Cassandra z nowym plikiem dc-1
, który zawiera węzły Cassandra z dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
- W przypadku polecenia dc-1 uruchom ponownie plik setup.sh w węźle serwera zarządzania:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
- W przypadku dc-2 zainstaluj
apigee-setup
we wszystkich węzłach. Więcej informacji znajdziesz w artykule Instalowanie narzędzia Edge apigee-setup informacje. - W dc-2 zainstaluj Cassandra i ZooKeeper w odpowiednich węzłach:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
- W przypadku dc-2 uruchom polecenie rebuild we wszystkich węzłach Cassandra, podając wartość
nazwa regionu dc-1:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1
Nazwa użytkownika i hasło musisz podać tylko wtedy, gdy włączono uwierzytelnianie JMX dla Cassandra.
- W przypadku dc-2 zainstaluj serwer zarządzania w odpowiednim węźle:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
- W węźle serwera zarządzania w dc-2 zainstaluj
apigee-provision
, który instaluje narzędzieapigee-adminapi.sh
:/opt/apigee/apigee-service/bin/apigee-service apigee-provision install
- W dc-2 zainstaluj trasy i procesory wiadomości w odpowiednich węzłach:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
- W dc-2 zainstaluj Qpid w odpowiednich węzłach:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
- W dc-2 zainstaluj Postgres w odpowiednim węźle:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
- Skonfiguruj mastera/tryb gotowości Postgres dla węzłów Postgres. Węzeł Postgres w dc-1 jest
głównym, a węzeł Postgres w dc-2 jest serwerem gotowości.
- W węźle głównym dc-1 edytuj plik konfiguracyjny, podając:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- Włącz replikację w nowym masterze:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
- W węźle gotowości w dc-2 edytuj plik konfiguracyjny, aby ustawić te wartości:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- W węźle gotowości w dc-2 zatrzymaj serwer, a następnie usuń
istniejące dane Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
rm -rf /opt/apigee/data/apigee-postgresql/
W razie potrzeby możesz zrobić kopię zapasową tych danych przed ich usunięciem.
- Skonfiguruj węzeł gotowości w dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- W węźle głównym dc-1 edytuj plik konfiguracyjny, podając:
- W dc-1 zaktualizuj konfigurację analityki i skonfiguruj organizacje.
- W węźle serwera zarządzania dc-1 pobierz identyfikator UUID Postgres.
węzeł:
apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \ --admin adminEmail --pwd adminPword --host localhost
Identyfikator UUID znajduje się na końcu zwracanych danych. Zapisz tę wartość.
- W węźle serwera zarządzania dc-2 pobierz identyfikator UUID Postgres. tak jak w poprzednim kroku. Zapisz tę wartość.
- W węźle serwera zarządzania dc-1 określ nazwę
analiz i grup konsumentów. Wiele poniższych poleceń wymaga tych informacji.
Domyślnie nazwa grupy w Analytics to „axgroup-001”, a nazwa konsumenta to „consumer-group-001”. W pliku konfiguracji cichej dla regionu możesz ustawić nazwę grupy Analytics za pomocą właściwości
AXGROUP
.Jeśli nie masz pewności co do nazw grup analitycznych i użytkowników, użyj następującego aby je wyświetlić:
apigee-adminapi.sh analytics groups list \ --admin adminEmail --pwd adminPword --host localhost
To polecenie zwraca nazwę grupy analitycznej w polu nazwy, a w polu nazwy grupę konsumentów w polu Consumer-groups.
- W węźle serwera zarządzania dc-1 usuń istniejący Postgres.
z grupy Analytics:
- Usuń węzeł Postgres z grupy klientów:
apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u UUID \ -Y --admin adminEmail --pwd adminPword --host localhost
Jeśli w konfiguracji dc-1 są skonfigurowane 2 węzły Postgres trybu głównego/gotowego, usuń oba:
apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" \ -Y --admin adminEmail --pwd adminPword --host localhost
- Usuń węzeł Postgres z grupy Analytics:
apigee-adminapi.sh analytics groups postgres_server remove \ -g axgroup-001 -u UUID -Y --admin adminEmail \ --pwd adminPword --host localhost
Jeśli w konfiguracji dc-1 są 2 węzły Postgres działające w trybie mastera/gotowania, usuń oba:
apigee-adminapi.sh analytics groups postgres_server \ remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \ --pwd adminPword --host localhost
- Usuń węzeł Postgres z grupy klientów:
- W węźle serwera zarządzania dc-1 dodaj nową instancję główną/gotową
Serwery Postgres do grupy analitycznej:
- Dodaj do grupy analitycznej oba serwery Postgres:
apigee-adminapi.sh analytics groups postgres_server \ add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
Tutaj UUID_1 odpowiada głównemu węzłowi Postgres w dc-1, a UUID_2 odpowiada Postgres w trybie gotowości w węźle dc-2.
- Dodaj serwery PG do grupy klientów jako główne/gotowe:
apigee-adminapi.sh analytics groups consumer_groups datastores \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
- Dodaj do grupy analitycznej oba serwery Postgres:
- Dodaj serwery Qpid z dc-2 do grupy Analytics:
- W węźle serwera zarządzania dc-1 pobierz identyfikatory UUID Qpid
węzłów w dc-2:
apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \ --admin adminEmail --pwd adminPword --host localhost
Identyfikatory UUID znajdują się na końcu zwracanych danych. Zapisz te wartości.
- W węźle serwera zarządzania dc-1 dodaj węzły Qpid do
Analytics group (uruchom oba polecenia):
apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_1" --admin adminEmail \ --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
- W węźle serwera zarządzania dc-1 dodaj węzły Qpid do
grupa klientów (uruchom oba polecenia):
apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1" \ --admin adminEmail --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_2" \ --admin adminEmail --pwd adminPword --host localhost
- W węźle serwera zarządzania dc-1 pobierz identyfikatory UUID Qpid
węzłów w dc-2:
- Wyrejestruj i usuń stary serwer gotowości Postgres z dc-1:
- Wyrejestruj istniejący serwer gotowości Postgres dc-1:
apigee-adminapi.sh servers deregister -u UUID -r dc-1 \ -p analytics -t postgres-server -Y --admin adminEmail \ --pwd adminPword --host localhost
Gdzie UUID to stary węzeł gotowości Postgres w dc-1.
- Usuń istniejący serwer gotowości Postgres dc-1:
apigee-adminapi.sh servers delete -u UUID \ --admin adminEmail --pwd adminPword --host localhost
- Wyrejestruj istniejący serwer gotowości Postgres dc-1:
- W węźle serwera zarządzania dc-1 pobierz identyfikator UUID Postgres.
węzeł:
- Zaktualizuj przestrzenie kluczy Cassandra, podając prawidłowy współczynnik replikacji dla 2 centrów danych. Ty
wystarczy wykonać ten krok tylko raz na dowolnym serwerze Cassandra w dowolnym centrum danych:
- Uruchom narzędzie Cassandra
cqlsh
:/opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
- Wykonaj następujące polecenia CQL w „cqlsh>” prośba o ustawienie replikacji
poziomy w przestrzeniach kluczy Cassandra:
ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Wyświetl przestrzenie klawiszy za pomocą tego polecenia:
select * from system.schema_keyspaces;
- Wyjdź z
cqlsh
:exit
- Uruchom narzędzie Cassandra
- Uruchom poniższe polecenie
nodetool
na wszystkich węzłach Cassandra w dc-1, aby je zwolnić pamięć:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Nazwa użytkownika i hasło musisz podać tylko wtedy, gdy włączono uwierzytelnianie JMX dla Cassandra.
- Dla każdej organizacji i środowiska, które chcesz obsługiwać w centrach danych:
- W węźle serwera zarządzania dc-1 dodaj nowy MP_POD do pola
Organizacja:
apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \ --admin adminEmail --pwd adminPword --host localhost
Gdzie gateway-2 to nazwa poda bramy zdefiniowana przez Właściwość MP_POD w pliku konfiguracyjnym dc-2.
- Dodaj nowe procesory wiadomości do organizacji i środowiska:
- W węźle serwera zarządzania dc-2 pobierz identyfikatory UUID instancji
Węzły procesora komunikatów w dc-2:
apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \ -t message-processor --admin adminEmail --pwd adminPword --host localhost
Identyfikatory UUID znajdują się na końcu zwracanych danych. Zapisz te wartości.
- W węźle serwera zarządzania dc-1 dla każdego procesora wiadomości
w dc-2 dodaj procesor komunikatów do środowiska organizacji:
apigee-adminapi.sh orgs envs servers add -o orgName -e envName \ -u UUID --admin adminEmail --pwd adminPword --host localhost
- W węźle serwera zarządzania dc-2 pobierz identyfikatory UUID instancji
Węzły procesora komunikatów w dc-2:
- W węźle serwera zarządzania dc-1 sprawdź organizację:
apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \ --admin adminEmail --pwd adminPword --host localhost
Gdzie apiProxyName to nazwa serwera proxy interfejsu API wdrożonego w organizacji.
- W węźle serwera zarządzania dc-1 dodaj nowy MP_POD do pola
Organizacja: