W tym dokumencie opisujemy, jak dodać centrum danych (nazywane też regionem) do istniejącego centrum danych.
Co należy wziąć pod uwagę przed dodaniem centrum danych
Zanim zainstalujesz centrum danych, musisz wiedzieć, jak skonfigurować serwery SymasLDAP, ZooKeeper, Cassandra i Postgres w centrach danych. Musisz też sprawdzić, czy między węzłami w obu centrach danych są otwarte niezbędne porty.
- SymasLDAP
Każde centrum danych ma własny serwer SymasLDAP skonfigurowany z włączoną replikacją. Gdy zainstalujesz nowe centrum danych, musisz skonfigurować SymasLDAP tak, aby korzystał z replikacji, a także ponownie skonfigurować serwer SymasLDAP w istniejącym centrum danych, aby korzystał z replikacji.
- ZooKeeper
W przypadku właściwości
ZK_HOSTSw obu centrach danych podaj adresy IP lub nazwy DNS wszystkich węzłów ZooKeeper z obu centrów danych w tej samej kolejności i oznacz wszystkie węzły modyfikatorem „:observer”. Węzły bez modyfikatora:observersą nazywane „głosującymi”. W konfiguracji musisz mieć nieparzystą liczbę "głosujących".W tej topologii host ZooKeeper na hoście 9 jest obserwatorem:

W pliku konfiguracji pokazanym poniżej węzeł 9 jest oznaczony modyfikatorem
:observerdzięki czemu masz 5 głosujących: węzły 1, 2, 3, 7 i 8.W przypadku właściwości
ZK_CLIENT_HOSTSw każdym centrum danych podaj adresy IP lub nazwy DNS tylko węzłów ZooKeeper w centrum danych w tej samej kolejności dla wszystkich węzkerów ZooKeeper w centrum danych. - Cassandra
W przypadku
CASS_HOSTSw każdym centrum danych upewnij się, że podajesz wszystkie adresy IP Cassandra (nie nazwy DNS) w obu centrach danych. W przypadku centrum danych 1 najpierw podaj węzły Cassandra w tym centrum danych. W przypadku centrum danych 2 najpierw podaj węzły Cassandra w tym centrum danych. Wymień węzły Cassandra w tej samej kolejności dla wszystkich węzłów Cassandra w centrum danych.Wszystkie węzły Cassandra muszą mieć sufiks „:d,r”, np. „ip:1,1 = centrum danych 1 i szafa/strefa dostępności 1” oraz „ip:2,1 = centrum danych 2 i szafa/strefa 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 szafie/strefie dostępności 1 każdego centrum danych będzie używany jako serwer początkowy. 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 kilka centrów danych, skonfiguruj węzły Postgres tak, aby korzystały z replikacji głównej i rezerwowej. Dzięki temu w przypadku awarii węzła głównego węzeł rezerwowy może nadal obsługiwać ruch. Zwykle konfigurujesz główny serwer Postgres w jednym centrum danych, a serwer rezerwowy w drugim centrum danych.
Jeśli istniejące centrum danych jest już skonfigurowane tak, aby miało 2 węzły Postgres działające w trybie głównym i rezerwowym, w ramach tej procedury wyrejestruj istniejący węzeł rezerwowy i zastąp go węzłem rezerwowym w nowym centrum danych.
W tabeli poniżej przedstawiono konfigurację Postgres przed i po obu scenariuszach:
Przed Po Pojedynczy główny węzeł Postgres w dc-1
Główny węzeł Postgres w dc-1
Rezerwowy węzeł Postgres w dc-2
Główny węzeł Postgres w dc-1
Rezerwowy węzeł Postgres w dc-1
Główny węzeł Postgres w dc-1
Rezerwowy węzeł Postgres w dc-2
Wyrejestruj stary rezerwowy węzeł Postgres w dc-1
- Wymagania związane z portami
Musisz sprawdzić, czy między węzłami w obu centrach danych są otwarte niezbędne porty. Diagram portów znajdziesz w sekcji Wymagania związane z portami.
Aktualizowanie istniejącego centrum danych
Dodanie centrum danych wymaga wykonania czynności związanych z instalacją i konfiguracją nowych węzłów centrum danych, ale także z aktualizacją węzłów w pierwotnym centrum danych. Te modyfikacje są konieczne, ponieważ w nowym centrum danych dodajesz nowe węzły Cassandra i ZooKeeper, które muszą być dostępne dla istniejącego centrum danych, a także musisz ponownie skonfigurować SymasLDAP, aby korzystał z replikacji.
Tworzenie plików konfiguracji
Poniżej znajdują się ciche pliki konfiguracji dla 2 centrów danych, z których każde ma 6 węzłów, jak pokazano w sekcji Topologie instalacji. Zwróć uwagę, że plik konfiguracji dla dc-1 dodaje dodatkowe ustawienia do:
- Konfigurowanie SymasLDAP z replikacją w 2 węzłach SymasLDAP.
- Dodawanie nowych węzłów Cassandra i ZooKeeper z dc-2 do pliku konfiguracji dla 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>" |
Dodawanie nowego centrum danych
Aby zainstalować nowe centrum danych, wykonaj te czynności.
W tej procedurze centra danych mają te nazwy:
- dc-1: istniejące centrum danych
- dc-2: nowe centrum danych
Aby dodać nowe centrum danych:
- W dc-1 ponownie uruchom setup.sh w oryginalnych węzłach Cassandra z nowym plikiem konfiguracji dc-1, który zawiera węzły Cassandra z dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
- W dc-2 zainstaluj apigee-setup we wszystkich węzłach. Więcej informacji znajdziesz w artykule Instalowanie narzędzia apigee-setup Edge.
- W dc-2 zainstaluj Cassandra i ZooKeeper w odpowiednich węzłach:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
- W dc-1 ponownie uruchom setup.sh w węźle serwera zarządzania:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
W razie potrzeby ponownie uruchom konfigurację ustawień zarabiania:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1
- W dc-2 uruchom polecenie rebuild we wszystkich węzłach Cassandra, podając nazwę regionu
dc-1:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1
Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy włączysz uwierzytelnianie JMX w Cassandra.
- W 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 routery 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 Postgres w trybie głównym i rezerwowym dla węzłów Postgres. Węzeł Postgres w dc-1 jest
węzłem głównym, a węzeł Postgres w dc-2 jest serwerem rezerwowym.
- W węźle głównym w dc-1 edytuj plik konfiguracji, aby ustawić:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- Włącz replikację w nowym węźle głównym:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
- W węźle rezerwowym w dc-2 edytuj plik konfiguracji, aby ustawić:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- W węźle rezerwowym w dc-2 zatrzymaj serwer, a następnie usuń wszystkie dotychczasowe dane Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
rm -rf /opt/apigee/data/apigee-postgresql/W razie potrzeby możesz utworzyć kopię zapasową tych danych przed ich usunięciem.
- Skonfiguruj węzeł rezerwowy w dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- W węźle głównym w dc-1 edytuj plik konfiguracji, aby ustawić:
- W dc-1 zaktualizuj konfigurację Analytics i skonfiguruj organizacje.
- W węźle serwera zarządzania w dc-1 pobierz identyfikator UUID węzła Postgres
węzła:
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 zwróconych danych. Zapisz tę wartość.
- W węźle serwera zarządzania w dc-2 pobierz identyfikator UUID węzła Postgres jak pokazano w poprzednim kroku. Zapisz tę wartość.
- W węźle serwera zarządzania w dc-1 określ nazwę grup
Analytics i konsumentów. Wiele poleceń poniżej wymaga tych informacji.
Domyślnie nazwa grupy Analytics to "axgroup-001", a nazwa grupy konsumentów to "consumer-group-001". W cichym pliku konfiguracji regionu możesz ustawić nazwę grupy Analytics za pomocą właściwości
AXGROUP.Jeśli nie masz pewności co do nazw grup Analytics i konsumentów, użyj tego polecenia, aby je wyświetlić:
apigee-adminapi.sh analytics groups list \ --admin adminEmail --pwd adminPword --host localhost
To polecenie zwraca nazwę grupy Analytics w polu name (nazwa) i nazwę grupy konsumentów w polu consumer-groups (grupy konsumentów).
- W węźle serwera zarządzania w dc-1 usuń istniejący serwer Postgres
z grupy Analytics:
- Usuń węzeł Postgres z grupy konsumentó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 dc-1 jest skonfigurowane tak, aby miało 2 węzły Postgres działające w trybie głównym i rezerwowym, 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 dc-1 jest skonfigurowane tak, aby miało 2 węzły Postgres działające w trybie głównym i rezerwowym, 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 konsumentów:
- W węźle serwera zarządzania w dc-1 dodaj nowe serwery Postgres w trybie głównym i rezerwowym
do grupy Analytics:
- Dodaj oba serwery Postgres do grupy Analytics:
apigee-adminapi.sh analytics groups postgres_server \ add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
Gdzie UUID_1 odpowiada głównemu węzłowi Postgres w dc-1, a UUID_2 odpowiada rezerwowemu węzłowi Postgres w dc-2.
- Dodaj serwery PG do grupy konsumentów w trybie głównym i rezerwowym:
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 oba serwery Postgres do grupy Analytics:
- Dodaj serwery Qpid z dc-2 do grupy Analytics:
- W węźle serwera zarządzania w dc-1 pobierz identyfikatory UUID węzłów Qpid
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 zwróconych danych. Zapisz te wartości.
- W węźle serwera zarządzania w dc-1 dodaj węzły Qpid do
grupy Analytics (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 w dc-1 dodaj węzły Qpid do
grupy konsumentó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 localhostJeśli używasz ustawień zarabiania, dodaj węzły Qpid do grupy MINT w węźle serwera zarządzania w dc-1:
apigee-adminapi.sh analytics groups qpid_server \ add -g mxgroup001 -u UUID_1 --admin adminEmail \ --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups qpid_server \ add -g mxgroup001 -u UUID_2 --admin adminEmail \ --pwd adminPword --host localhost
- W węźle serwera zarządzania w dc-1 pobierz identyfikatory UUID węzłów Qpid
w dc-2:
- Wyrejestruj i usuń stary rezerwowy serwer Postgres z dc-1:
- Wyrejestruj istniejący rezerwowy serwer Postgres w 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 rezerwowy węzeł Postgres w dc-1.
- Usuń istniejący rezerwowy serwer Postgres w dc-1:
apigee-adminapi.sh servers delete -u UUID \ --admin adminEmail --pwd adminPword --host localhost
- Wyrejestruj istniejący rezerwowy serwer Postgres w dc-1:
- W węźle serwera zarządzania w dc-1 pobierz identyfikator UUID węzła Postgres
węzła:
- Zaktualizuj przestrzenie kluczy Cassandra, aby miały prawidłowy współczynnik replikacji w obu centrach danych. Ten krok musisz wykonać tylko raz na dowolnym serwerze Cassandra w dowolnym centrum danych:
- Uruchom narzędzie Cassandra
cqlsh:/opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
- W wierszu poleceń "cqlsh>" wykonaj te polecenia CQL, aby ustawić poziomy replikacji
dla przestrzeni 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' };- Aby wyświetlić przestrzenie kluczy, użyj tego polecenia:
SELECT * FROM system_schema.keyspaces;
- Zamknij
cqlsh:exit
- Uruchom narzędzie Cassandra
- Uruchom to polecenie
nodetoolwe wszystkich węzłach Cassandra w dc-1, aby zwolnić pamięć:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy włączysz uwierzytelnianie JMX w Cassandra.
- W przypadku każdej organizacji i każdego środowiska, które chcesz obsługiwać w centrach danych:
- W węźle serwera zarządzania w dc-1 dodaj nowy MP_POD do
organizacji:
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 konfiguracji dc-2.
- Dodaj nowe procesory wiadomości do organizacji i środowiska:
- W węźle serwera zarządzania w dc-2 pobierz identyfikatory UUID węzłów 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 zwróconych danych. Zapisz te wartości.
- W węźle serwera zarządzania w dc-1 w przypadku każdego procesora komunikatów w dc-2 dodaj procesor komunikatów do środowiska w 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 w dc-2 pobierz identyfikatory UUID węzłów procesora komunikatów w dc-2:
- W węźle serwera zarządzania w dc-1 sprawdź organizację:
apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \ --admin adminEmail --pwd adminPword --host localhost
Gdzie apiProxyName to nazwa proxy interfejsu API wdrożonego w organizacji.
- W węźle serwera zarządzania w dc-1 dodaj nowy MP_POD do
organizacji:
Jeśli używasz ustawień zarabiania, zainstaluj węzeł ustawień zarabiania w DC2.
Uruchom polecenie konfiguracji MINT w węzłach serwera zarządzania i procesora komunikatów w DC2:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1