Wymagania dotyczące instalacji

Wymagania sprzętowe

Aby zapewnić wysoką dostępność infrastruktury w środowisku produkcyjnym, musisz spełnić te minimalne wymagania sprzętowe.

Ten film zawiera ogólne wskazówki dotyczące rozmiarów instalacji:

Dla wszystkich scenariuszy instalacji opisanych w sekcji Topologie instalacji w poniższych tabelach podano wartości minimalne wymagania sprzętowe dotyczące komponentów instalacyjnych.

W tych tabelach wymagania dotyczące dysku twardego są podane dodatkowo do miejsca na dysku twardym wymaganego przez system operacyjny. W zależności od aplikacji i ruchu w sieci instalacja może wymagać więcej lub mniej zasobów niż wymienione poniżej.

Element instalacyjny Pamięć RAM CPU Minimalny dysk twardy
Cassandra 16 GB 8-rdzeniowy Miejsce na dane o wielkości 250 GB na dysku SSD obsługującym 2000 IOPS
Przetwarzanie wiadomości / Router na tym samym komputerze 16 GB 8-rdzeniowy 100 GB
Procesor wiadomości (samodzielny) 16 GB 8-rdzeniowy 100 GB
Router (samodzielny) 16 GB 8-rdzeniowy 100 GB
Analytics – Postgres/Qpid na tym samym serwerze 16GB* 8-rdzeniowy* 500 GB – 1 TB** pamięci sieciowej***, najlepiej z SSD w podstawie, obsługująca 1000 IOPS lub więcej*
Statystyki – serwer główny lub zapasowy Postgres (samodzielny) 16 GB* 8-rdzeniowy* od 500 GB do 1 TB** pamięci sieciowej***, najlepiej z backendem SSD, obsługa co najmniej 1000 IOPS*
Analytics – samodzielny Qpid 16 GB 8-rdzeniowy 30–50 GB miejsca na dane na dysku SSD

Domyślny rozmiar kolejki Qpid to 1 GB, ale można go zwiększyć do 2 GB. Jeśli potrzebujesz więcej pojemności, dodaj więcej węzłów Qpid.

Serwer OpenLDAP/UI/zarządzania 8 GB 4-rdzeniowy 60GB
Serwer interfejsu użytkownika lub serwer zarządzania 4 GB 2-rdzeniowy 60 GB
OpenLDAP (samodzielny) 4 GB 2-rdzeniowy 60GB

* Dostosuj wymagania systemowe Postgres na podstawie przepustowości:

  • Mniej niż 250 TPS: 8 GB, w przypadku sieci zarządzanej możliwe 4 rdzenie pamięć masowa*** obsługująca 1000 IOPS lub więcej
  • Powyżej 250 TPS: zarządzana pamięć sieciowa*** o pojemności 16 GB i 8 rdzeniach, obsługująca co najmniej 1000 IOPS
  • Ponad 1000 TPS: 16 GB, 8 rdzeni, zarządzana pamięć sieciowa*** obsługująca 2000 IOPS lub więcej
  • Ponad 2000 TPS: 32 GB, 16 rdzeni, zarządzana pamięć sieciowa*** obsługująca 2000 IOPS lub więcej
  • Ponad 4000 TPS: 64 GB, 32 rdzenie, zarządzana pamięć sieciowa*** obsługująca 4000 IOPS lub więcej

** Wartość dysku twardego Postgres jest określana na podstawie gotowych statystyk przechwyconych przez Edge. Jeśli dodasz do danych analitycznych wartości niestandardowe, należy je zwiększyć odpowiednio się zmienia. Aby oszacować wymaganą ilość miejsca na dane, użyj tej formuły:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

Na przykład:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB of storage needed

*** W przypadku bazy danych Postgres zalecamy użycie usługi Network Storage, ponieważ:

  • Umożliwia to dynamiczne zwiększanie rozmiaru miejsca na dane w razie potrzeby.
  • IOPS sieci można regulować na bieżąco w większości współczesnych środowisko/pamięć masowa/podsystemy sieci.
  • W ramach tworzenia i przywracania kopii zapasowych można włączyć zrzuty poziomu miejsca na dane i rozwiązania.

Oprócz tego poniżej znajdziesz listę wymagań sprzętowych, które pozwolą Ci zainstalować Usługi zarabiania (nieobsługiwane w przypadku instalacji wielofunkcyjnej):

Komponent z zarabianiem Pamięć RAM CPU Dysk twardy
Serwer zarządzania (z usługami do zarabiania) 8 GB 4-rdzeniowy 60GB
Analytics – Postgres/Qpid na tym samym serwerze 16 GB 8-rdzeniowy 500 GB – 1 TB pamięci sieciowej, najlepiej z dyskiem SSD w tle, obsługującym 1000 IOPS lub więcej, albo zastosuj regułę z tabeli powyżej.
Statystyki – serwer główny lub zapasowy serwer samodzielny Postgres 16 GB 8-rdzeniowy 500 GB–1 TB pamięci sieciowej, najlepiej z backendem SSD, obsługującą 1000 IOPS lub wyżej lub użyj reguły z tabeli powyżej.
Analytics – samodzielny Qpid 8 GB 4-rdzeniowy 40–500 GB pamięci lokalnej na dysku SSD lub szybkim HDD

W przypadku instalacji o wydajności przekraczającej 250 TPS zalecamy dysk twardy z lokalnym magazynem danych obsługującym 1000 IOPS.

System operacyjny i inne firmy wymagania oprogramowania

Te instrukcje instalacji i dołączone pliki instalacyjne zostały przetestowane w systemach operacyjnych i oprogramowaniu innych firm wymienionych w sekcji Obsługiwane oprogramowanie i obsługiwane wersje.

Java

Przed instalacją na każdym komputerze musi być zainstalowana obsługiwana wersja Java 1.8. Obsługiwane wersje JDK są wymienione w sekcji Obsługiwane wersje oprogramowania.

Upewnij się, że zmienna środowiskowa JAVA_HOME wskazuje na katalog główny JDK dla użytkownika przeprowadzającego instalację.

SELinux

W zależności od ustawień SELinux przeglądarka Edge może mieć problemy z instalowaniem i uruchamianiem komponentów Edge. W razie potrzeby możesz wyłączyć SELinux lub ustawić tryb mniej rygorystyczny podczas instalacji, a po zakończeniu instalacji włącz ją ponownie. Więcej informacji znajdziesz w artykule Instalowanie narzędzia Edge apigee-setup.

Tworzenie konta użytkownika „apigee”

Procedura instalacji tworzy użytkownika systemu Unix o nazwie „apigee”. Katalogi i pliki Edge są własnością konta „apigee”, podobnie jak procesy Edge. Oznacza to, że komponenty Edge działają jako „apigee” użytkownika. W razie potrzeby możesz uruchomić komponenty jako inny użytkownik.

Katalog instalacji

Domyślnie instalator zapisuje wszystkie pliki w katalogu /opt/apigee. Ty nie można zmienić lokalizacji tego katalogu. Nie możesz zmienić tego katalogu, ale możesz utworzyć link symboliczny, aby mapować /opt/apigee do innego katalogu, zgodnie z opisem w artykule Tworzenie linku symbolicznego z katalogu /opt/apigee.

W instrukcjach w tym przewodniku katalog instalacji jest oznaczony jako /opt/apigee.

Zanim utworzysz symboliczny link, musisz najpierw utworzyć użytkownika i grupę o nazwie „apigee”. To jest tę samą grupę i użytkownika utworzone przez instalator Edge.

Aby utworzyć symboliczny link, wykonaj te czynności przed pobraniem pliku bootstrap_4.50.00.sh. Wszystkie te czynności musisz wykonać jako użytkownik root:

  1. Utwórz użytkownika i grupę „apigee”:
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Utwórz dowiązanie symboliczne z adresu /opt/apigee do wybranego katalogu głównego instalacji:
    ln -Ts /srv/myInstallDir /opt/apigee

    Gdzie /srv/myInstallDir to żądana lokalizacja plików Edge.

  3. Zmień właściciela katalogu / root i skrótu do katalogu / root na użytkownika „apigee”:
    chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Ustawienie Sieć

Apigee zaleca sprawdzenie ustawień sieci przed instalacją. Instalator zakłada, że wszystkie maszyny mają stałe adresy IP. Aby sprawdzić ustawienie

  • hostname zwraca nazwę komputera.
  • hostname -i zwraca adres IP dla nazwy hosta, z którego można zaadresować adres. na innych komputerach.

W zależności od typu i wersji systemu operacyjnego może być konieczne zmodyfikowanie wartości parametru /etc/hosts/etc/sysconfig/network, jeśli nazwa hosta nie jest prawidłowo skonfigurowana. Więcej informacji znajdziesz w dokumentacji używanego systemu operacyjnego.

Jeśli serwer ma wiele kart interfejsu, polecenie „hostname -i” zwraca listę adresów IP rozdzielonych spacjami. Domyślnie instalator Edge używa pierwszego zwróconego adresu IP, który może nie być poprawny w każdej sytuacji. Możesz też ustawić tę właściwość w pliku konfiguracji instalacji:

ENABLE_DYNAMIC_HOSTIP=y

Gdy właściwość ma wartość „y”, instalator prosi o wybranie adresu IP, który ma być używany jako jest częścią instalacji. Wartość domyślna to „n”. Więcej informacji znajdziesz w dokumentacji pliku konfiguracyjnego Edge.

Kody TCP

Opakowania TCP mogą blokować komunikację niektórych portów i wpływać na instalację OpenLDAP, Postgres i Cassandra. Na tych węzłach sprawdź /etc/hosts.allow i /etc/hosts.deny, aby upewnić się, że nie ma żadnych ograniczeń portów w wymaganych portach OpenLDAP, Postgres i Cassandra.

iptables

Sprawdź, czy nie ma zasad iptables, które uniemożliwiają połączenie między węzłami na wymaganych portach usługi Edge. W razie potrzeby możesz zatrzymać iptables podczas instalacji za pomocą tego polecenia:

sudo/etc/init.d/iptables stop

W CentOS 7.x:

systemctl stop firewalld

Dostęp do katalogu

Tabela poniżej zawiera katalogi na węzłach Edge, które mają specjalne wymagania dotyczące procesów Edge:

Usługa Katalog Opis
Router /etc/rc.d/init.d/functions

Router Edge Router korzysta z routera Nginx i wymaga uprawnień do odczytu do /etc/rc.d/init.d/functions.

Jeśli proces bezpieczeństwa wymaga ustawienia uprawnień w /etc/rc.d/init.d/functions, nie ustawiaj ich na 700, ponieważ w przeciwnym razie router się nie uruchomi.

Aby zezwolić na dostęp z możliwością odczytu, możesz ustawić uprawnienia na poziomie 744. /etc/rc.d/init.d/functions

Zookeeper /dev/random Biblioteka klienta Zookeeper wymaga dostępu tylko do odczytu do generatora liczb losowych. /dev/random Jeśli usługa /dev/random jest zablokowana na odczyt, usługa Zookeeper może się nie uruchomić.

Cassandra

Wszystkie węzły Cassandra muszą być połączone z pierścieniem. Cassandra przechowuje repliki danych w wielu węzłów, aby zapewnić niezawodność i odporność na awarie. Strategia replikowania dla każdego klucza przestrzeni Edge określa węzły Cassandra, na których znajdują się kopie. Więcej informacji: Informacje o Cassandra współczynnik replikacji i poziom spójności.

Cassandra automatycznie dostosowuje rozmiar stosu Java na podstawie dostępnej pamięci. Więcej informacji: Dostrajanie zasobów Javy w przypadku spadku wydajności lub dużego zużycia pamięci.

Po zainstalowaniu Edge for Private Cloud możesz sprawdzić, czy Cassandra jest prawidłowo skonfigurowana, sprawdzając plik /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Sprawdź na przykład, czy skrypt instalacji Edge for Private Cloud ustawił właściwości:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch
.

Baza danych PostgreSQL

Po zainstalowaniu Edge możesz dostosować poniższe ustawienia bazy danych PostgreSQL na podstawie ilość pamięci RAM dostępnej w systemie:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

Aby ustawić te wartości:

  1. Edytuj plik postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    Jeśli plik nie istnieje, utwórz go.

  2. Ustaw wymienione powyżej właściwości.
  3. Zapisz zmiany.
  4. Zrestartuj bazę danych PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Ograniczenia systemu

Sprawdź, czy na urządzeniu Cassandra i procesorze wiadomości masz ustawione poniższe limity systemu węzłów:

  • W węzłach Cassandra ustaw limity łagodnego i twardego memlocka, nofile oraz przestrzeni adresowej dla użytkownik instalacji (domyślnie „apigee”) w /etc/security/limits.d/90-apigee-edge-limits.conf jak poniżej:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited
    apigee soft nproc 32768
    apigee hard nproc 65536

    Więcej informacji znajdziesz w sekcji Zalecane ustawienia produkcyjne w dokumentacji Apache Cassandra.

  • W węzłach procesora wiadomości ustaw maksymalną liczbę deskryptorów otwartych plików na 64 tys. w /etc/security/limits.d/90-apigee-edge-limits.conf, jak widać poniżej:
    apigee soft nofile 32768
    apigee hard nofile 65536

    W razie potrzeby możesz zwiększyć ten limit. Na przykład, jeśli masz dużo plików tymczasowych.

  • Jeśli w routerze lub przetwarzaczu wiadomości pojawi się ten komunikat o błędzie: system.log, limity dotyczące opisu pliku mogą być zbyt niskie:

    "java.io.IOException: Too many open files"
    

    Aby sprawdzić limity użytkowników, uruchom:

    # su - apigee
    $ ulimit -n
    100000
    

    Jeśli po ustawieniu limitów deskryptora pliku nadal osiągasz limity otwartych plików 100000, wyślij zgłoszenie do zespołu pomocy Apigee Edge, aby uzyskać dalsze informacje o rozwiązywaniu problemów.

Usługi bezpieczeństwa sieci (NSS)

Network Security Services (NSS) to zestaw bibliotek, które ułatwiają tworzenie aplikacji klienckich i serwerowych z zabezpieczeniami. Musisz się upewnić, że zainstalowano NSS. wersji 3.19 lub nowszej.

Aby sprawdzić bieżącą wersję:

yum info nss

Aby zaktualizować NSS:

yum update nss

Przeczytaj ten artykuł. z RedHat.

Wyłącz wyszukiwanie DNS w IPv6 w przypadku używania NSCD (demona pamięci podręcznej usługi nazw)

Jeśli masz zainstalowany i włączony NSCD (Name Service Cache Daemon), procesory wiadomości przeprowadzają 2 wyszukiwania DNS: jedno dla IPv4 i drugie dla IPv6. Wyłącz wyszukiwanie DNS w IPv6, gdy za pomocą NSCD.

Aby wyłączyć wyszukiwanie DNS w IPv6:

  1. Edytuj /etc/nscd.conf w każdym węźle procesora wiadomości.
  2. Ustaw tę właściwość:
    enable-cache hosts no

Wyłączanie IPv6 w Google Cloud Platform w przypadku RedHat/CentOS 7

Jeśli instalujesz Edge na RedHat 7 lub CentOS 7 na Google Cloud Platform, musisz wyłączyć IPv6 na wszystkich węzłach Qpid.

Instrukcje dotyczące wyłączania IPv6 znajdziesz w dokumentacji RedHat lub CentOS dotyczącej Twojej wersji systemu operacyjnego. Możesz na przykład:

  1. Otwórz plik /etc/hosts w edytorze.
  2. Wstaw znak „#” znak w kolumnie pierwszego z następujących wierszy, aby go skomentować:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Zapisz plik.

AWS AMI,

Jeśli instalujesz Edge na obrazie Amazon Machine Image (AMI) dla Red Hat Enterprise Linux 7.x w usłudze AWS, musisz najpierw uruchomić to polecenie:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Narzędzia

Instalator używa w wersji standardowej narzędzi systemu UNIX (zgodnie z danymi EL5 lub EL5). EL6.

awk

expr

libxslt

obr./min

rozpakować

basename

grep

lua-socket

rpm2cpio

useradd

bash

nazwa hosta

ls

Sed

wc

bc

id

net-tools

sudo

wget

curl

libaio

perl (z procps)

smoła

xerces-c

Cyrus-Sasl libdb4 pgrep (z procps) tr mniam

data

libdb-cxx

ps

identyfikator UUID

chkconfig

dirname libibverbs pwd uname  
echo librdmacm python    

ntpdate

Apigee zaleca, aby Twoje serwery . Jeśli nie są jeszcze skonfigurowane, możesz użyć narzędzia ntpdate, które sprawdza, czy serwery są zsynchronizowane czasowo. Aby zainstalować to narzędzie, możesz użyć yum install ntp. Jest to szczególnie przydatne w przypadku replikowania konfiguracji OpenLDAP. Pamiętaj, że strefa czasowa serwera jest ustawiona na UTC.

openldap 2.4

Lokalna instalacja wymaga OpenLDAP 2.4. Jeśli serwer ma połączenie z internetem, a następnie skrypt instalacji Edge pobierze i zainstaluje. OpenLDAP. Jeśli serwer nie ma połączenia z internetem, upewnij się, że OpenLDAP jest już zainstalowany. W przypadku RHEL/CentOS można uruchamiać yum install openldap-clients openldap-servers, aby zainstalować OpenLDAP.

W przypadku instalacji na 13 hostach i 12 hostów z 2 centrami danych – OpenLDAP replikacja jest wymagana, ponieważ istnieje wiele węzłów hostujących OpenLDAP.

Zapory sieciowe i hosty wirtualnych

Termin virtual jest często nadużywany w branży IT, tak jak w przypadku wdrożenia Apigee Edge w chmurze prywatnej i hostów wirtualnych. Aby doprecyzować, przypadki użycia terminu virtual:

  • Maszyny wirtualne: nie jest to wymagane, ale niektóre wdrożenia korzystają z technologii maszyn wirtualnych do tworzenia odizolowanych serwerów dla swoich komponentów Apigee. Hosty maszyn wirtualnych, podobnie jak hostów fizycznych, mogą mieć interfejsy sieciowe i zapory sieciowe.
  • Hosty wirtualne: punkty końcowe internetowe, analogiczne do hosta wirtualnego Apache.

Router w maszynie wirtualnej może udostępniać wiele hostów wirtualnych (o ile różnią się one od siebie aliasem hosta lub portem interfejsu).

Na przykład jeden serwer fizyczny A może obsługiwać 2 maszyny wirtualne. o nazwie „VM1” i „VM2”. Załóżmy, że maszyna wirtualna „VM1” udostępnia wirtualny interfejs Ethernet o nazwie „eth0” wewnątrz maszyny wirtualnej i przypisuje jej adres IP 111.111.111.111 za pomocą mechanizmu wirtualizacji lub serwera DHCP sieci. Załóżmy też, że maszyna wirtualna „VM2” udostępnia wirtualny interfejs Ethernet o nazwie „eth0” i przypisuje jej adres IP 111.111.111.222.

W każdej z 2 maszyn wirtualnych może działać router Apigee. Routery udostępniają punkty końcowe hosta wirtualnego w taki sposób:

Router Apigee w VM1 udostępnia 3 hosty wirtualnych na interfejsie eth0 (który ma konkretny adres IP), api.mycompany.com:80, api.mycompany.com:443test.mycompany.com:80.

Router w maszynie wirtualnej 2 udostępnia api.mycompany.com:80 (ta sama nazwa i port co maszyna wirtualna 1).

System operacyjny fizycznego hosta może mieć zaporę sieciową. jeśli tak, ta zapora sieciowa musi być skonfigurowana tak, aby przekazywać ruch TCP powiązany z portami udostępnianymi w zwirtualizowanym środowisku interfejsów (111.111.111.111:{80, 443} i 111.111.111.222:80). W system operacyjny każdej maszyny wirtualnej może też mieć własną zaporę sieciową w interfejsie eth0, również musi zezwalać na połączenie przez porty 80 i 443.

Ścieżka podstawowa to trzeci element biorący udział w przekierowywaniu wywołań interfejsu API do różnych zaimplementowanych przez Ciebie serwerów proxy interfejsu API. Pakiety zastępcze interfejsu API mogą korzystać z tego samego punktu końcowego, jeśli mają różne ścieżki podstawowe. Na przykład jeden ścieżka podstawowa może być zdefiniowana jako http://api.mycompany.com:80/, a druga jako http://api.mycompany.com:80/salesdemo.

W takim przypadku potrzebujesz systemu równoważenia obciążenia lub usługi kierowania ruchem, która rozdziela ruch http://api.mojafirma.com:80/ między 2 adresami IP (111.111.111.111 na VM1 i 111.111.111.222 na VM2). Ta funkcja jest specyficzna dla Twojej instalacji i jest konfigurowana przez lokalną grupę sieci.

Ścieżka podstawowa jest ustawiana podczas wdrażania interfejsu API. Korzystając z powyższego przykładu, możesz wdrożyć 2 interfejsy API: mycompany i testmycompany dla organizacji mycompany-org z hostem wirtualnym, którego alias hosta to api.mycompany.com i port ustawiony na 80. Jeśli nie zadeklarujesz ścieżki podstawowej w wdrożeniu, router nie będzie wiedzieć, do którego interfejsu API ma wysyłać przychodzące żądania.

Jeśli jednak wdrożesz interfejs API testmycompany z podstawowym adresem URL /salesdemo, użytkownicy będą uzyskiwać dostęp do tego interfejsu API za pomocą adresu http://api.mycompany.com:80/salesdemo. Jeśli wdrożesz interfejs API mycompany z podstawowym adresem URL /, użytkownicy będą uzyskiwać dostęp do interfejsu API za pomocą adresu URL http://api.mycompany.com:80/.

Licencjonowanie

Każda instalacja Edge wymaga unikalnego pliku licencji uzyskanego z Apigee. Ty musisz podać ścieżkę do pliku licencji podczas instalowania serwera zarządzania, na przykład /tmp/license.txt.

Instalator skopiuje plik licencji do /opt/apigee/customer/conf/license.txt

Jeśli plik licencji jest prawidłowy, serwer zarządzania weryfikuje datę ważności i dozwoloną liczbę procesorów wiadomości. Jeśli któreś z ustawień licencji wygasło, dzienniki znajdziesz w tym miejscu: /opt/apigee/var/log/edge-management-server/logs. W takim przypadku możesz skontaktować się z zespołem pomocy Apigee Edge, aby uzyskać szczegółowe informacje o migracji.

Jeśli nie masz jeszcze licencji, skontaktuj się z zespołem sprzedaży Apigee.