Edge for Private Cloud w wersji 4.18.01
Interfejs API BaaS możesz zainstalować w kilku centrach danych, korzystając z konfiguracji aktywnej/aktywnej. Ten dokument opisuje, jak dodać centrum danych BaaS do istniejących danych BaaS pomocy.
Dodawanie centrum danych, gdy klaster Cassandra jest udostępniany w usłudze Edge
Wszystkie centra danych muszą mieć tę samą liczbę węzłów Cassandra. Instalacja BaaS interfejsu API może używa własnego klastra Cassandra lub może współdzielić klaster Cassandra z Edge.
Jeśli instalacja BaaS dzieli klaster Cassandra z Edge, musisz zaktualizować serwera zarządzania w oryginalnym centrum danych, tak aby rozpoznawał węzły Cassandra w do nowego centrum danych.
Aktualizacja istniejącego centrum danych
Dodanie nowego centrum danych BaaS (centrum danych 2) wymaga wykonania czynności związanych z instalacją i konfiguracją nowego centrum danych, ale także z aktualizacją oryginalnego centrum danych BaaS (centrum danych 1). Te zmiany są konieczne, ponieważ:
- Dodajesz w nowym centrum danych nowe węzły Cassandra, które muszą być dostępne do istniejącego centrum danych.
- Musisz skonfigurować informacje o replikacji, których używają węzły stosu BaaS w danych centrum 1, aby uwzględnić informacje z centrum danych 2. Nie możesz wykonać tej konfiguracji do jest zainstalowane centrum danych 2.
Aby przeprowadzić te aktualizacje w centrum danych 1, zaktualizuj oryginalny plik konfiguracji użyty do zainstalowania centrum danych 1, a następnie ponownie uruchom polecenie apigee-setup na węzłach Cassandra w centrum danych 1. Jeśli klaster Cassandra dla centrum danych 1 jest współużytkowany z instalacją Edge, musisz też zaktualizować serwer zarządzania.
Tworzenie plików konfiguracji
Aby zainstalować centrum danych 1, skorzystaj z konfiguracji opisanej w sekcji Instalacja BaaS API. Podczas instalacji centrum danych 1. nie musi on zawierać żadnych informacji o centrum danych 2. Dodawanie informacji do pliku konfiguracji następuje po zainstalowaniu centrum danych 2.
Poniżej widać pliki konfiguracji dla centrum danych 2. Ten plik konfiguracji zakłada, że instalujesz dc-2 na 10 węzłach, zgodnie z opisem w sekcji Topologie instalacji. W razie instalacji na 7 węzłach zmodyfikuj ten plik.
Zwróć uwagę, że plik konfiguracji centrum danych 2 (dc-2) zawiera informacje o centrum danych 1 (dc-1):
# Specify IP address or DNS name of node for dc-2. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra dc-2 (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra dc-2 (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra dc-2 (shared with Edge or standalone) # Specify node information for dc-1 IP11=192.168.1.11 # Cassandra dc-1 (shared with Edge or standalone) IP12=192.168.1.12 # Cassandra dc-1 (shared with Edge or standalone) IP13=192.168.1.13 # Cassandra dc-1 (shared with Edge or standalone) IP14=192.168.1.14 # API BaaS Stack IP15=192.168.1.15 # API BaaS Stack # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Specify Cassandra data center and rack suffix. # List dc-2 nodes first, then dc-1. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1" # Specify the Cassandra region. REGION=dc-2 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name as dc-2. BAAS_CASS_LOCALDC=dc-2 # Specify both data centers. BAAS_CASS_DC_LIST=dc-1,dc-2 # Replication is in the form "dataCenterName:#CassandraNodes". # Specify both data centers. BAAS_CASS_REPLICATION=dc-1:3,dc-2:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes per data center. # Specify both data centers. BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5" # ElasticSearch IPs or DNS names, separated by spaces, for dc-2. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Dodawanie centrum danych BaaS
- Zainstaluj pierwsze centrum danych w sposób opisany na stronie Instalacja API BaaS. Dokument ten zawiera plik konfiguracji, którego używasz do instalacji centrum danych 1.
- Utwórz plik konfiguracyjny dla dc-2 w sposób opisany powyżej.
- Zainstaluj Cassandra jako część istniejącej instalacji Edge lub jako samodzielny klaster BaaS:
- Zainstaluj narzędzie apigee-setup Edge na pierwszym węźle Cassandra w dc-2, maszyna 8, za pomocą internetu lub procedury bez internetu. Więcej informacji znajdziesz w artykule Instalowanie narzędzia apigee-setup w Edge.
- W wierszu poleceń uruchom skrypt konfiguracji, aby zainstalować Cassandra na pierwszym węźle:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
Opcja „-p c” wskazuje, że należy zainstalować Cassandra.
Plik konfiguracji musi być dostępny lub czytelny dla użytkownika „apigee”. - Powtórz kroki 3 i 4 dla pozostałych węzłów Cassandra, maszyn 9 i 10, w dc-2.
- W węzłach Cassandra dc-1 dodaj do pliku konfiguracji węzły Cassandra
centrum danych 2 w zależności od sposobu instalacji systemu Cassandra:
# Najpierw wyświetl węzły dc-1, a później dc-2
# w tym centrum danych i sufiks szafy Cassandra
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - W pierwszym węźle Cassandra dc-1 uruchom plik setup.sh z nowym plikiem konfiguracyjnym dc-1, który
obejmuje węzły Cassandra z dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - Powtórz kroki 6 i 7 w przypadku pozostałych węzłów Cassandra w dc-1.
- Jeśli łączysz się z klastrem Cassandra w dc-1 udostępnionym w usłudze Edge,
dodaj węzły Cassandra dc-2 do pliku konfiguracyjnego węzła serwera zarządzania dc-1 i uruchom polecenie setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - 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:
Uwaga: podane niżej polecenia ustawiają współczynnik replikacji na „3”, co oznacza, że 3 węzły Cassandra. W razie potrzeby zmień tę wartość w przypadku danej instalacji.- Uruchom narzędzie Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Aby ustawić poziomy replikowania w kluczowych przestrzeniach danych Cassandra, uruchom te polecenia CQL w wierszu poleceń „cqlsh>”:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_Locks" Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTERNATYWNY PRZESTRZEŃ KLUCZOWY „system_traces” Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Wyświetl przestrzenie klawiszy za pomocą tego polecenia:
cqlsh> wybierz * z system.schema_keyspaces; - Zamknij cqlsh:
cqlsh> exit
- Uruchom narzędzie Cassandra cqlsh:
- Na wszystkich węzłach Cassandra w regionie dc-2 uruchom polecenie rebuild, podając nazwę regionu dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1 - Uruchom polecenie „nodetool status” na każdym węźle Cassandra i sprawdź, czy wszystkie węzły Cassandra mają wartość „Owns” równą „100%”:
> /opt/apigee/apigee-cassandra/bin/nodetool status - Zainstaluj BaaS w dc-2:
- Zmień plik konfiguracji, aby zawierał tylko węzły Cassandra w dc-2:
# Wyświetla węzły Cassandra w dc-2,
# pomijając sufiks centrum danych i racka Cassandra
CASS_HOSTS="$IP8 $IP9 $IP10" - Zainstaluj ElasticSearch na węzłach 4, 5 i 6 w dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - Zainstaluj pakiet BaaS na węzłach 4, 5 i 6 w dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - Zainstaluj portal BaaS na maszynie 7:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- Zmień plik konfiguracji, aby zawierał tylko węzły Cassandra w dc-2:
- Aktualizacja węzłów stosu BaaS w centrum danych 1:
- W pierwszym węźle stosu BaaS w centrum danych 1 edytuj /opt/apigee/customer/application/usergrid.properties w edytorze. Jeśli plik nie istnieje, utwórz go.
- Dodaj te właściwości do pliku usergrid.properties:
# Ta sama wartość co BAAS_CLUSTER_SEEDS w pliku konfiguracji dc-2,
# bez cudzysłowów.
usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2
# Ta sama wartość co BAAS_CASS_DC_LIST w pliku konfiguracyjnym dc-2.
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - Powtórz kroki a i b w pozostałych węzłach stosu BaaS.
- Ponownie uruchom wszystkie węzły stosu BaaS.
Uwaga: podczas ponownego uruchamiania węzłów stosu BaaS uruchom je ponownie w tym samym w kolejności, w jakiej są wymienione w BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS listy w dla większości 2 węzłów stosu. Po uruchomieniu tych 2 węzłów w kolejności możesz uruchomić pozostałe węzły w dowolnej kolejności.
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- Zaktualizuj wartości kluczy BaaS. Przestrzeń kluczy musi być skonfigurowana do replikacji w momencie instalacji,
ale nie w czasie wykonywania. Usunięcie replikacji spowoduje też zaoszczędzenie pamięci Cassandra.
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 - Aby ustawić poziomy replikacji dla kluczy przestrzeni nazw Cassandra, wykonaj te polecenia CQL:
- cqlsh> ALTERNATYWNY PRZESTRZEŃ KLUCZOWY "Apigee_Baas_dc_1" Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- Wyświetl przestrzenie klawiszy za pomocą tego polecenia:
cqlsh> wybierz * z system.schema_keyspaces; - Zamknij cqlsh:
cqlsh> exit
- Uruchom narzędzie Cassandra cqlsh:
Instalacja drugiego centrum danych została zakończona.
Po zakończeniu instalacji i konfiguracji 2 centrów danych możesz zweryfikować instalację, wykonując te czynności:
- Sprawdź stan wszystkich węzłów stosu BaaS:
> curl 0:8080/stan - Wywołanie interfejsu API tokena sprawdź, czy działa:
> curl – X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - Spróbuj zalogować się w portalu BaaS dla dc-2. Sprawdź, czy wszystkie dane są replikowane w dc-2, na przykład kolekcje utworzone w dc-1.