Instalacja interfejsu BaaS API

Edge for Private Cloud w wersji 4.17.05

Omówienie instalacji

Po zainstalowaniu narzędzia Edge apigee-setup w węźle używaj tego do zainstalowania co najmniej jednego komponentu BaaS w węźle.

Narzędzie apigee-setup zawiera formularz:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

Przekaż plik konfiguracji do narzędzia apigee-setup, który zawiera informacje na temat instalacji. Jeśli w pliku konfiguracji brakuje jakichkolwiek wymaganych parametr apigee-setup, zobaczysz prośbę o wpisanie go w wierszu poleceń.

Jedynym wymaganiem jest to, aby plik konfiguracji był dostępny i czytelny dla „apigee” użytkownika.

Możesz na przykład zainstalować stos BaaS API za pomocą następującego polecenia:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Określanie komponentów do zainstalowania

Narzędzie Apigee setup.sh obsługuje kilka opcji instalacji komponentów BaaS API. Poniższe instrukcje dotyczą samodzielnych opcji (c, e, b i p), ale można użyć różnych opcji w zależności od węzła Konfiguracja:

Opcja

Opis

e

Zainstaluj tylko ElasticSearch.

b

Zainstaluj tylko stos BaaS API, który instaluje też Tomcat.

p

Zainstaluj tylko portal API BaaS, który instaluje też router Nginx do używania jako sieć serwera.

C

Zainstaluj tylko Cassandra.

eb

Zainstaluj w węźle ElasticSearch, stos BaaS API i Tomcat.

ebp

Zainstaluj ElasticSearch, portal BaaS API, stos BaaS API i Tomcat, ale nie Cassandra. Portal jest tak uproszczony, że nie wymaga do tego dodatkowych zasobów.

Asa

Zainstaluj wszystkie komponenty BaaS interfejsów API w jednym węźle (Cassandra, Elasticsearch, API BaaS) Stos, Portal BaaS API, Tomcat). Używaj tej opcji tylko do programowania i testowania, nie do produkcji.

Tworzenie pliku konfiguracji

Plik konfiguracji zawiera wszystkie informacje niezbędne do zainstalowania interfejsu API BaaS. Dostępne opcje często używają tego samego pliku konfiguracji do zainstalowania wszystkich komponentów w instalacji BaaS.

Każda opisana poniżej topologia instalacji zawiera przykładowy plik konfiguracyjny dla tej topologii. Dla: pełne informacje na temat pliku konfiguracji znajdziesz w dokumentacji pliku konfiguracji BaaS (w języku angielskim).

Zainstaluj API BaaS w jednym węźle

Poniżej znajduje się plik konfiguracyjny instalacji interfejsu API BaaS w jednym węźle. Edytuj ten plik jako niezbędne do konfiguracji. Pełne informacje na temat pliku konfiguracyjnego znajdziesz w artykule Odniesienie do pliku konfiguracji bazy danych.

IP1=192.168.56.101   # IP address of single node

# 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

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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

Aby zainstalować interfejs API BaaS w jego własnym węźle:

  1. Zainstaluj narzędzie Edge apigee-setup na węźle, korzystając z przez internet lub poza internetem. Zapoznaj się z sekcją Instalowanie narzędzia Edge apigee-setup, i innych.
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile

    Opcja „-p asa” określa, czy należy zainstalować wszystkie komponenty BaaS interfejsu API w 1 węźle (Cassandra, Elasticsearch, stos API BaaS, portal API BaaS, Tomcat).
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.
  3. Ponieważ zainstalowano ElasticSearch w samodzielnym węźle, dostosuj pamięć domyślną opcja zwiększenia pamięci przeznaczonej dla ElasticSearch z 4 GB do 6 GB:
    1. Otwórz plik /opt/apigee/customer/application/elasticsearch.properties w redaktorem. Jeśli ten plik nie istnieje, utwórz go.
    2. Ustaw właściwość setenv_elasticsearch_max_mem_size do 6 g (domyślna wartość to 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Zapisz plik.
    4. Uruchom to polecenie:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
  4. Zarejestruj organizację w sposób opisany poniżej w sekcji Wprowadzanie nowej organizacji.

Konfiguracja kończy konfigurację w węźle.

Zainstaluj API BaaS w 7 lub 10 węzłach

Procedura instalacji wersji interfejsu API BaaS z 7 lub 10 węzłami jest bardzo podobna. Jedyna różnica jest taka, że w przypadku:

  • instalując 10 węzłów, instalujesz 3 komponenty ElasticSearch i 3 interfejsy API; Komponenty stosu BaaS w oddzielnych węzłach. Łącznie daje to 6 węzłów. To jest zalecana konfiguracja pozwala uzyskać najwyższą wydajność, ponieważ ElasticSearch wymaga dużych ilości operacji wejścia-wyjścia dysku i pamięci.
  • 7 węzłów, instalujesz 3 komponenty ElasticSearch i 3 interfejsy API BaaS. Ułóż komponenty w tych samych węzłach, łącznie węzłów.

W przypadku wersji BaaS z 7 i 10 węzłami musisz połączyć się z klastrem Cassandra. Jeśli masz już zainstalowaną przeglądarkę Edge, możesz połączyć się z jej klastrem Cassandra, co oznacza, że nie musi zainstalować Cassandra w ramach instalowania interfejsów API BaaS.

Poniżej znajduje się przykładowy plik konfiguracji cichej dla instalacji BaaS interfejsu API z 10 węzłami. Jeśli instalujesz komponenty stosu BaaS ElasticSearch i interfejsu API w tych samych 3 węzłach, przeredagować plik tak, aby:

  • Adres IP1 i IP4 są ustawione na ten sam adres IP
  • IP2 i IP5 są ustawione na ten sam adres IP
  • IP3 i IP6 są ustawione na ten sam adres IP

Zmodyfikuj ten plik zgodnie ze swoją konfiguracją. Pełne informacje na temat: pliku konfiguracyjnego. Więcej informacji znajdziesz w sekcji BaaS Odniesienie do pliku konfiguracji.

# Specify IP address or DNS name of node.
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 (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# 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

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Specify the Cassandra region.
REGION=dc-1

# 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.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# ElasticSearch IPs or DNS names, separated by spaces.
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

Opcjonalnie – zainstaluj Cassandra: maszyna 8, 9 i 10

Możesz połączyć API BaaS z tym samym klastrem Cassandra, którego używa Edge. Jeśli nie masz jeszcze Edge, możesz opcjonalnie zainstalować Cassandra do użytku przez API BaaS.

Klaster Cassandra może używać uwierzytelniania lub wyłączyć uwierzytelnianie Cassandra. Zobacz Włącz uwierzytelnianie Cassandra dla: i innych.

  1. Zainstaluj narzędzie Edge apigee-setup na węźle, korzystając z za pomocą internetu, czy też poza internetem. Zapoznaj się z sekcją Instalowanie narzędzia Edge apigee-setup, i innych.
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /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.

Konfiguracja kończy proces konfiguracji magazynu danych w węźle.

Zwróć uwagę, że standard JMX jest domyślnie włączony dla Cassandra. Zdalny dostęp JMX do Cassandra nie wymagać hasła. Możesz skonfigurować Cassandra tak, aby używała uwierzytelniania dla JMX. Więcej informacji: Jak monitorować dane.

Konfigurowanie zadania Cassandra cron

Jeśli musisz zainstalować system Cassandra, skonfiguruj zadanie cron, które korzysta z narzędzia nodetool do czyszczenia pamięci blokad co godzinę w każdym węźle Cassandra.

Jeśli masz wiele węzłów Cassandra, przesuń zadanie cron na każdym serwerze o pięć minut, aby nie opróżniać wszystkich węzłów w tym samym czasie.

Zadanie cron musi wykonać to polecenie:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

gdzie IP_address to adres IP węzła Cassandra.

Zainstaluj ElasticSearch: Maszyna 1, 2 i 3

Aby zainstalować ElasticSearch w osobnym węźle:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z internetu lub spoza internetu . Zobacz Instalowanie Edge apigee-setup .
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    Opcja „-p e” wskazuje, że należy zainstalować ElasticSearch.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.
  3. (Opcjonalnie) Jeśli zainstalujesz ElasticSearch w samodzielnym węźle, czyli nie jest on zainstalowany za pomocą stosu BaaS API, a następnie dostosować domyślną opcję pamięci, aby zwiększyć ilość pamięci przydzielonej ElasticSearch od 4 GB do 6 GB:
    1. Otwórz /opt/apigee/customer/application/elasticsearch.properties w edytorze. Jeśli ten plik nie istnieje, utwórz go.
    2. Ustaw setenv_elasticsearch_max_mem_size do 6g (wartość domyślna to 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Zapisz plik.
    4. Uruchom to polecenie:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

Konfiguracja kończy konfigurację w węźle.

Zainstaluj stos BaaS API: Maszyna 4, 5 i 6

Aby zainstalować stos BaaS API w osobnym węźle:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z internetu lub spoza internetu . Zobacz Instalowanie Edge apigee-setup .
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    Opcja „-p b” określa, czy należy zainstalować stos BaaS API.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.

Po pobraniu prawidłowych danych logowania administratora instalator instaluje rozszerzenie Tomcat i tworzy interfejs API. i skonfigurować stos BaaS API na serwerze. Protokół SMTP jest skonfigurowany tak, aby zezwalać na wysyłania e-maili z potwierdzeniem hasła.

Zainstaluj portal API BaaS: maszyna 7.

Aby zainstalować portal BaaS API:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z internetu lub spoza internetu . Zobacz Instalowanie Edge apigee-setup .
  2. W wierszu polecenia uruchom skrypt konfiguracji:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    Opcja „-p p” wskazuje, że należy zainstalować portal BaaS API.
    Plik konfiguracji musi być dostępny lub czytelny dla „apigee” użytkownika.

    Instalator uruchamia serwer internetowy Nginx, a następnie kończy portal API BaaS. konfiguracji.
  3. Następny krok zależy od instalacji.
    1. Jeśli przed węzłami stosu portali lub stosów masz system równoważenia obciążenia, następna sekcja opisuje, jak skonfigurować interfejs BaaS API pod kątem systemów równoważenia obciążenia.
    2. Jeśli nie masz systemu równoważenia obciążenia przed węzłami stosu portali lub stosów, rozpocznij organizacji, jak opisano poniżej w sekcji Wprowadzenie a konkretnie do nowej organizacji.

Zanotuj adres URL portalu BaaS API. Jest to adres URL, który musisz wpisać w przeglądarce, aby uzyskać dostęp do Interfejs API BaaS Portal.

Skonfiguruj Węzły BaaS interfejsu API na potrzeby systemu równoważenia obciążenia stosu lub portalu

Jeśli umieścisz system równoważenia obciążenia przed węzłami stosu lub portalu, musisz skonfigurować węzłów z prawidłowym adresem URL systemu równoważenia obciążenia. Na przykład węzły stosu wymagają tego , gdy:

  • Umieszczanie adresu URL w odpowiedziach w żądaniach do interfejsu BaaS API.
  • dodawania linków w szablonach e-maili podczas resetowania hasła lub wysyłania innych wiadomości, powiadomienia.
  • Przekierowywanie użytkowników na strony konkretnych portali.

Jeśli używasz systemu równoważenia obciążenia przed węzłami stosu, ustaw następującą właściwość w /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

Zastąp ciąg http://localhost:8080 adresem URL wczytywania. systemu równoważenia obciążenia. Jeśli system równoważenia obciążenia jest skonfigurowany do używania protokołu TLS, użyj protokołu HTTPS. Tylko Ty musisz uwzględnić port, jeśli używasz portu niestandardowego, czyli innego niż port 80 w przypadku HTTP i port 443 w przypadku HTTPS.

Musisz też ustawić tę właściwość w /opt/apigee/customer/application/portal.properties , jeśli: używasz systemu równoważenia obciążenia przed węzłami stosu:

baas.portal.config.overrideUrl=http://localhost:8080

Zastąp http://localhost:8080 adresem URL systemu równoważenia obciążenia dla stosu.

Jeśli używasz systemu równoważenia obciążenia przed węzłem Portalu, ustaw te właściwości w usergrid.properties:

usergrid-deployment_portal.url=http://localhost:9000

Zastąp http://localhost:9000 adresem URL systemu równoważenia obciążenia. Jeśli system równoważenia obciążenia jest skonfigurowany do używania protokołu TLS, użyj protokołu HTTPS. Ty uwzględniaj go tylko wtedy, gdy korzystasz z portu niestandardowego, czyli innego niż port 80 w przypadku HTTP i 443 w przypadku HTTPS.

Po zakończeniu edytowania plików usergrid.properties i portal.properties:

  1. Skonfiguruj węzeł stosu:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid setup
  2. Uruchom ponownie stos BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart

    Uwaga: podczas ponownego uruchamiania węzłów stosu BaaS uruchamiaj je w tej samej kolejności. że są one wymienione w grupie BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS wyświetla maksymalnie dwie z tych list: węzłów stosu. Po ponownym uruchomieniu tych 2 węzłów możesz ponownie uruchomić pozostałe węzłów w dowolnej kolejności.

  3. Jeśli zmodyfikowano plik portal.properties, skonfiguruj węzeł portalu:
    /opt/apigee/apigee-service/bin/apigee-service baas-portal konfiguracja
  4. Uruchom ponownie portal BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal restart

Wprowadzanie nowej organizacji

Rejestracja to proces tworzenia organizacji i jej administratora. Po utworzenie administratora organizacji lub organizacji, możesz zalogować się w portalu BaaS API Interfejs użytkownika i wysyłanie żądań do interfejsu API BaaS typu REST.

Gdy utworzysz organizację, adres e-mail jej administratora:

  • Musi być inny niż adres e-mail administratora systemu.
  • Musi być niepowtarzalna wśród wszystkich innych organizacji. Oznacza to, że nie można utworzyć dwóch organizacji. z tym samym adresem e-mail co administrator organizacji. Po utworzeniu jednak organizacji, można dodać kolejnych administratorów, których organizacji non-profit.

Aby przeprowadzić wprowadzenie, użyj skryptu Pythona create_org_and_user.py. Wywoływanie tego skryptu bez argumentów wiersza poleceń powoduje, że wyświetla się prośba o informacje:

> python create_org_and_user.py

Jako argument wiersza poleceń możesz też przekazać wszystkie lub wszystkie opcje. Pojawi się prośba o wszelkie informacje pominięte w wierszu poleceń:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

Aby utworzyć organizację:

  1. Zmień katalog na /opt/apigee/baas-usergrid/bin.
  2. Wywołaj skrypt Pythona create_org_and_user.py.
    Zostanie wyświetlony monit o podanie nazwy użytkownika i hasła administratora systemu BaaS, aby tylko może ją uruchomić administrator.
  3. Zaloguj się w portalu API BaaS w przeglądarce, korzystając z adresu URL podanego na końcu Instalacja adresu URL portalu API BaaS. Aby uzyskać dostęp do portalu, wpisz URL portalu BaaS API w polu formularz:
    http://{portalExternalIP}:9000/

    Uwaga: adres IP to zewnętrzny adres IP/nazwa hosta maszyny portalu. Sprawdź, czy ten port jest otwarty.
  4. Gdy pojawi się ekran logowania do portalu, możesz:
    • Zaloguj się przy użyciu nazwy użytkownika i hasła administratora organizacji.
    • Zaloguj się przy użyciu nazwy użytkownika i hasła administratora systemu.

Dostęp do interfejsu API BaaS typu REST

Aby uzyskać dostęp do interfejsu API BaaS typu REST, użyj adresu URL w formacie:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

W środowisku programistycznym możesz zainstalować wszystkie komponenty BaaS API w jednym węźle, co oznacza, że masz pojedynczy stos BaaS API. Innym przykładem może być małe środowisko z Węzeł stosu BaaS API i brak systemu równoważenia obciążenia. W tego typu środowiskach możesz wykonywać wywołania interfejsu API bezpośrednio do węzła stosu BaaS API:

curl -v "http://portalExternalIP:8080/status"

Aby dowiedzieć się, jak zacząć korzystać z portalu API BaaS, zapoznaj się z dokumentacją Apigee na stronie: http://apigee.com/docs/content/build-apps-home.