Instalacja wielu centrów danych dla interfejsu API BaaS

Edge for Private Cloud w wersji 4.17.05

Interfejs API BaaS można zainstalować w wielu centrach danych za pomocą aktywnego/aktywnego konfiguracji. Ten dokument opisuje, jak dodać centrum danych BaaS do istniejących danych BaaS pomocy.

Dodanie centrum danych, gdy Klaster Cassandra jest udostępniany 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 kroków instalacji skonfigurować nowe centrum danych, ale konieczna jest też aktualizacja 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, musisz zaktualizować pierwotny plik konfiguracji używany do zainstaluj centrum danych 1, a następnie ponownie uruchom polecenie apigee-setup na węzłach danych Cassandra centrum 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. Plik konfiguracji nie musi Podczas instalacji centrum danych należy dodać informacje o centrum danych 2. 1. informacje do pliku konfiguracji po zainstalowaniu centrum danych 2.

Poniżej widać pliki konfiguracji dla centrum danych 2. W tym pliku konfiguracji założono, że jest instalowane dc-2 w 10 węzłach zgodnie z opisem w artykule Topologie instalacji. Zmodyfikuj ten plik, jeśli są instalowane w 7 węzłach.

Zwróć uwagę, że plik konfiguracyjny 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

Dodaj centrum danych BaaS

  1. Zainstaluj pierwsze centrum danych zgodnie z opisem na stronie API BaaS. Instalacja. Dokument ten zawiera plik konfiguracji używany do instalacji danych. centrum 1.
  2. Utwórz plik konfiguracji dc-2 w sposób opisany powyżej.
  3. Zainstaluj system Cassandra w ramach istniejącej instalacji Edge lub osobno klaster dla BaaS:
    1. Zainstaluj narzędzie Edge apigee-setup Węzeł Cassandra dc-2, maszyna 8, używający procedury internetowej lub niezwiązanej z internetem. Zobacz Instalowanie konfiguracji Edge Apigee .
    2. W wierszu polecenia uruchom skrypt konfiguracji, aby zainstalować system Cassandra w pierwszym węźle:
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

      Opcja „-p c” określa, czy należy zainstalować system Cassandra.

      Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.
    3. Powtórz kroki 3 i 4 dla pozostałych węzłów Cassandra, maszyn 9 i 10, w dc-2.
  4. 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"
  5. 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
  6. Powtórz kroki 6 i 7 dla pozostałych węzłów Cassandra w dc-1.
  7. Jeśli łączysz się z klastrem Cassandra na potrzeby dc-1 udostępnionego Edge, dodaj węzły dc-2 Cassandra 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
  8. 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.
    1. Uruchom narzędzie Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Wykonaj następujące polecenia CQL w „cqlsh>” prośba o ustawienie replikacji poziomy w przestrzeniach kluczy Cassandra:
      1. cqlsh> ZMIENNA KEYSPACE „Apigee_Baas_dc_1” Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ZMIENNA KEYSPACE „Apigee_Baas” Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh> ZMIENNA KEYSPACE "Apigee_Baas_Locks" Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh> ALTERNATYWNY PRZESTRZEŃ KLUCZOWY „system_traces” Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh> ZMIENNA KEYSPACE „system_auth” Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Wyświetl przestrzenie klawiszy za pomocą tego polecenia:
        cqlsh> wybierz * z system.schema_keyspaces;
      7. Wyjdź z cqlsh:
        cqlsh> wyjście
  9. Na wszystkich węzłach Cassandra w dc-2 uruchom polecenie rebuild, podając nazwę regionu dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1
  10. Uruchamianie polecenia „Nodetool status” (Stan narzędzia węzła) w każdym węźle Cassandra i sprawdź, czy wszystkie węzły Cassandra „100%” dla wartości „Właściciel”:
    > /opt/apigee/apigee-cassandra/bin/nodetool status
  11. Zainstaluj BaaS w dc-2:
    1. Edytuj plik konfiguracyjny, aby w dc-2 wyświetlały się tylko węzły Cassandra:
      # Wyświetl listę węzłów dc-2 Cassandra,
      # pominięcie sufiksu centrum danych i szafy Cassandra
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. Zainstaluj ElasticSearch w węzłach 4, 5 i 6 dc-2:
      > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. Zainstaluj stos BaaS w węzłach 4, 5 i 6 dc-2:
      > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. Zainstaluj portal BaaS na komputerze 7:
      > /opt/apigee/apigee-setup/bin/setup.sh -p -f configFile
  12. Aktualizacja węzłów stosu BaaS w centrum danych 1:
    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.
    2. Do pliku usergrid.properties dodaj te właściwości:
      # Ta sama wartość co BAAS_CLUSTER_SEEDS w pliku konfiguracyjnym 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
    3. Powtórz kroki a i b w pozostałych węzłach stosu BaaS.
    4. 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 ponownym uruchomieniu tych 2 węzłów możesz ponownie uruchomić pozostałych węzłów w dowolnej kolejności.

      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
  13. Zaktualizuj wartości przestrzeni 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:
    1. Uruchom narzędzie Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Aby ustawić poziomy replikacji dla Cassandra, wykonaj te polecenia w CQL przestrzenie klawiszy:
      1. cqlsh> ALTERNATYWNY PRZESTRZEŃ KLUCZOWY "Apigee_Baas_dc_1" Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh> ALTERNATYWNY PRZESTRZEŃ KLUCZOWY "Apigee_Baas_dc_2" Z replikacją = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Wyświetl przestrzenie klawiszy za pomocą tego polecenia:
        cqlsh> wybierz * z system.schema_keyspaces;
      4. Wyjdź z cqlsh:
        cqlsh> zamknij

Instalacja drugiego centrum danych została zakończona.

Po zakończeniu instalacji i konfiguracji obu centrów danych możesz zacząć sprawdzić poprawność instalacji, wykonując następującą procedurę:

  1. Sprawdź stan wszystkich węzłów stosu BaaS:
    > curl 0:8080/stan
  2. 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"}'
  3. Spróbuj zalogować się w portalu BaaS dla dc-2. Sprawdź, czy wszystkie dane są replikowane w dc-2. takich jak kolekcje utworzone w dc-1.