Hardwareanforderungen
Sie müssen die folgenden Mindestanforderungen an die Hardware für eine hochverfügbare Infrastruktur in einer Produktionsumgebung erfüllen.
Im folgenden Video erhältst du einen allgemeinen Überblick über die Größe für deine Installation:
Für alle in Installationstopologien beschriebenen Installationsszenarien finden Sie in den folgenden Tabellen die Mindestanforderungen an die Hardware für die Installationskomponenten.
In diesen Tabellen werden die Festplattenanforderungen zusätzlich zum Festplattenspeicher berücksichtigt, der für das Betriebssystem erforderlich ist. Je nach Anwendungen und Netzwerk-Traffic kann die Installation mehr oder weniger Ressourcen erfordern, als unten aufgeführt.
Installationskomponente | RAM | CPU | Mindestfestplatte |
---|---|---|---|
Cassandra | 16 GB | 8-Kern | 250 GB lokaler Speicher mit SSD, der 2.000 IOPS unterstützt |
Nachrichtenprozessor/Router auf demselben Computer | 16 GB | 8-Kern | 100GB |
Message Processor (eigenständig) | 16 GB | 8-Kern | 100GB |
Router (eigenständig) | 16 GB | 8-Kern | 100GB |
Analytics – Postgres/Qpid auf demselben Server | 16GB* | 8‐Kern* | 500 GB – 1 TB** Netzwerkspeicher***, vorzugsweise mit SSD-Back-End, mindestens 1.000 IOPS* |
Analytics – Postgres-Master oder Standby (eigenständig) | 16GB* | 8-Kern* | 500 GB – 1 TB** Netzwerkspeicher***, vorzugsweise mit SSD-Back-End, mindestens 1.000 IOPS* |
Analytics – eigenständige Qpid- | 8 GB | 4 Kerne | 30 GB bis 50 GB lokaler Speicher mit SSD
Die Standardgröße der Qpid-Warteschlange beträgt 1 GB und kann auf 2 GB erhöht werden. Wenn Sie mehr Kapazität benötigen, fügen Sie zusätzliche Qpid-Knoten hinzu. |
OpenLDAP/Benutzeroberfläche/Verwaltungsserver | 8 GB | 4 Kerne | 60 GB |
UI/Verwaltungsserver | 4 GB | 2 Kerne | 60 GB |
OpenLDAP (eigenständig) | 4 GB | 2 Kerne | 60 GB |
* Postgres-Systemanforderungen auf Grundlage des Durchsatzes anpassen:
** Der Postgres-Festplattenwert basiert auf den vorkonfigurierten Analysen von Edge. Wenn Sie den Analysedaten benutzerdefinierte Werte hinzufügen, sollten diese entsprechend erhöht werden. Anhand der folgenden Formel lässt sich der erforderliche Speicherplatz schätzen:
Beispiel:
*** Netzwerkspeicher wird aus folgenden Gründen für die Postgresql-Datenbank empfohlen:
|
Außerdem werden im Folgenden die Hardwareanforderungen aufgeführt, wenn Sie die Monetarisierungsdienste installieren möchten (nicht unterstützt bei All-in-One-Installationen):
Komponente mit Monetarisierung | RAM | CPU | Festplatte |
---|---|---|---|
Verwaltungsserver (mit Monetarisierungsdiensten) | 8 GB | 4‐Kern | 60 GB |
Analytics – Postgres/Qpid auf demselben Server | 16 GB | 8-Kern | Netzwerkspeicher von 500 GB bis 1 TB, vorzugsweise mit SSD-Back-End, der mindestens 1.000 IOPS unterstützt, oder verwenden Sie die Regel aus der obigen Tabelle. |
Analytics – Postgres – Master- oder Standby-Standalone | 16 GB | 8-Kern | Netzwerkspeicher von 500 GB bis 1 TB, vorzugsweise mit SSD-Back-End, der mindestens 1.000 IOPS unterstützt, oder verwenden Sie die Regel aus der obigen Tabelle. |
Analytics – eigenständige Qpid- | 16 GB | 8-Kern | 40 bis 500 GB lokaler Speicher mit SSD oder schneller HDD
Für Installationen von mehr als 250 TPS wird HDD mit lokalem Speicher für 1.000 IOPS empfohlen. |
Anforderungen an Betriebssystem und Drittanbieter-Software
Diese Installationsanleitung und die mitgelieferten Installationsdateien wurden auf den Betriebssystemen und Drittanbieter-Software getestet, die unter Unterstützte Software und unterstützte Versionen aufgeführt sind.
Java
Sie benötigen vor der Installation eine unterstützte Version von Java 1.8 auf jedem Computer. Unterstützte JDKs sind unter Unterstützte Software und unterstützte Versionen aufgeführt.
Achten Sie darauf, dass die Umgebungsvariable JAVA_HOME
auf den Stamm des JDK für den Nutzer verweist, der die Installation ausführt.
SELinux
Abhängig von Ihren Einstellungen für SELinux kann Edge beim Installieren und Starten von Edge-Komponenten auf Probleme stoßen. Bei Bedarf können Sie SELinux deaktivieren oder während der Installation in den moderaten Modus versetzen und nach der Installation wieder aktivieren. Weitere Informationen finden Sie unter Edge-Apigee-Setup-Dienstprogramm installieren.
Nutzer „apigee“ erstellen
Der Installationsvorgang erstellt einen Unix-Systemnutzer mit dem Namen „apigee“. Edge-Verzeichnisse und -Dateien gehören zu Apigee, ebenso wie Edge-Prozesse. Dies bedeutet, dass Edge-Komponenten als „apigee“-Nutzer ausgeführt werden. Bei Bedarf können Sie Komponenten als ein anderer Nutzer ausführen.
Installationsverzeichnis
Das Installationsprogramm schreibt standardmäßig alle Dateien in das Verzeichnis /opt/apigee
. Sie können diesen Speicherort des Verzeichnisses nicht ändern. Sie können dieses Symlink zwar nicht ändern, aber einen Symlink erstellen, um /opt/apigee
einem anderen Speicherort zuzuordnen, wie unter Symlink aus /opt/apigee erstellen beschrieben.
In der Anleitung in dieser Anleitung wird das Installationsverzeichnis als /opt/apigee
bezeichnet.
Symlink aus /opt/apigee erstellen
Bevor Sie den Symlink erstellen, müssen Sie zuerst einen Nutzer und eine Gruppe namens „apigee“ erstellen. Dies ist dieselbe Gruppe und der gleiche Nutzer, die vom Edge-Installationsprogramm erstellt wurden.
Führe die folgenden Schritte aus, um die symlink-Datei zu erstellen, bevor du die Datei bootstrap_4.51.00.sh herunterlädst. Sie müssen alle folgenden Schritte als Root ausführen:
- Erstellen Sie den Nutzer und die Gruppe „apigee“:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- Erstellen Sie einen symlink von
/opt/apigee
zum gewünschten Installationsstamm:ln -Ts /srv/myInstallDir /opt/apigee
Dabei ist /srv/myInstallDir der gewünschte Speicherort der Edge-Dateien.
- Ändern Sie den Inhaber des Installationsstamms und symlink zu dem Apigee-Nutzer:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Werbenetzwerkeinstellung
Apigee empfiehlt, die Netzwerkeinstellung vor der Installation zu prüfen. Das Installationsprogramm erwartet, dass alle Maschinen feste IP-Adressen haben. Mit den folgenden Befehlen können Sie die Einstellung prüfen:
hostname
gibt den Namen des Computers zurückhostname -i
gibt die IP-Adresse für den Hostnamen zurück, der von anderen Computern adressiert werden kann.
Je nach Betriebssystemtyp und -version müssen Sie möglicherweise /etc/hosts
und /etc/sysconfig/network
bearbeiten, wenn der Hostname nicht richtig festgelegt ist. Weitere Informationen finden Sie in der Dokumentation zu Ihrem Betriebssystem.
Wenn ein Server mehrere Schnittstellenkarten hat, gibt der Befehl „hostname -i“ eine durch Leerzeichen getrennte Liste von IP-Adressen zurück. Das Edge-Installationsprogramm verwendet standardmäßig die erste zurückgegebene IP-Adresse, die möglicherweise nicht in allen Situationen korrekt ist. Alternativ können Sie in der Installationskonfigurationsdatei folgendes Attribut festlegen:
ENABLE_DYNAMIC_HOSTIP=y
Wenn dieses Attribut auf „y“ gesetzt ist, werden Sie vom Installationsprogramm aufgefordert, die IP-Adresse auszuwählen, die bei der Installation verwendet werden soll. Der Standardwert ist „n“. Weitere Informationen finden Sie in der Referenz zur Edge-Konfigurationsdatei.
TCP-Wrapper
TCP-Wrapper können die Kommunikation einiger Ports blockieren und sich auf die Installation von OpenLDAP, Postgres und Cassandra auswirken. Prüfen Sie auf diesen Knoten /etc/hosts.allow
und /etc/hosts.deny
, um sicherzustellen, dass die erforderlichen OpenLDAP-, Postgres- und Cassandra-Ports nicht eingeschränkt sind.
iptables
Prüfen Sie, ob keine iptables-Richtlinien vorhanden sind, die die Verbindung zwischen Knoten an den erforderlichen Edge-Ports verhindern. Bei Bedarf können Sie iptables während der Installation mit dem folgenden Befehl stoppen:
sudo/etc/init.d/iptables stop
Mit CentOS 7.x:
systemctl stop firewalld
Verzeichniszugriff
In der folgenden Tabelle sind Verzeichnisse auf Edge-Knoten mit speziellen Anforderungen aus Edge-Prozessen aufgeführt:
Dienst | Verzeichnis | Beschreibung |
---|---|---|
Router | /etc/rc.d/init.d/functions |
Der Edge-Router verwendet den NGINX-Router und benötigt Lesezugriff auf Wenn es gemäß Ihrem Sicherheitsprozess erforderlich ist, Berechtigungen für Sie können Berechtigungen auf 744 festlegen, um Lesezugriff auf |
Zookeeper | /dev/random |
Die Zookeeper-Clientbibliothek benötigt Lesezugriff auf den Zufallszahlengenerator /dev/random . Wenn /dev/random beim Lesen blockiert wird, wird der Zookeeper-Dienst möglicherweise nicht gestartet. |
Cassandra
Alle Cassandra-Knoten müssen mit einem Ring verbunden sein. Cassandra speichert Datenreplikate auf mehreren Knoten, um Zuverlässigkeit und Fehlertoleranz sicherzustellen. Die Replikationsstrategie für jeden Edge-Schlüsselraum bestimmt die Cassandra-Knoten, auf denen Replikate platziert werden. Weitere Informationen finden Sie unter Cassandra-Replikationsfaktor und Konsistenzstufe.
Cassandra passt die Java-Heap-Größe automatisch basierend auf dem verfügbaren Arbeitsspeicher an. Weitere Informationen finden Sie unter Java-Ressourcen abstimmen, wenn es zu Leistungseinbußen oder hoher Arbeitsspeichernutzung kommt.
Nach der Installation von Edge für Private Cloud können Sie prüfen, ob Cassandra richtig konfiguriert ist. Sehen Sie sich dazu die Datei /opt/apigee/apigee-cassandra/conf/cassandra.yaml
an. Achten Sie beispielsweise darauf, dass das Installationsskript von Edge for Private Cloud die folgenden Attribute festlegt:
cluster_name
initial_token
partitioner
seeds
listen_address
rpc_address
snitch
PostgreSQL-Datenbank
Nach der Installation von Edge können Sie die folgenden PostgreSQL-Datenbankeinstellungen auf der Grundlage des in Ihrem System verfügbaren RAMs anpassen:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
So legen Sie diese Werte fest:
- Bearbeiten Sie die Datei „postgresql.properties“:
vi /opt/apigee/customer/application/postgresql.properties
Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
- Legen Sie die oben aufgeführten Eigenschaften fest.
- Speichern Sie die Änderungen.
- Starten Sie die PostgreSQL-Datenbank neu:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Systemlimits
Achten Sie darauf, dass Sie die folgenden Systemlimits für Cassandra- und Message Processor-Knoten festgelegt haben:
- Legen Sie auf Cassandra-Knoten Limits für Soft- und Hard-Memlock, Nofile und Adressbereich (als) für den Installationsnutzer (Standard ist „apigee“) in
/etc/security/limits.d/90-apigee-edge-limits.conf
fest: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
Weitere Informationen finden Sie in der Apache Cassandra-Dokumentation unter Empfohlene Produktionseinstellungen.
- Legen Sie für Message Processor-Knoten die maximale Anzahl offener Dateideskriptoren in
/etc/security/limits.d/90-apigee-edge-limits.conf
auf 64.000 fest:apigee soft nofile 32768 apigee hard nofile 65536
Sie können dieses Limit gegebenenfalls erhöhen. Das ist beispielsweise der Fall, wenn viele temporäre Dateien gleichzeitig geöffnet sind.
Wenn in einem Router oder Nachrichtenprozessor
system.log
der folgende Fehler auftritt, sind die Dateideskriptoren möglicherweise zu niedrig:"java.io.IOException: Too many open files"
Überprüfen Sie mit folgendem Befehl die Nutzerlimits:
# su - apigee $ ulimit -n 100000
Wenn die Beschränkungen für offene Dateien immer noch erreicht sind, nachdem Sie die Dateideskriptor-Limits auf
100000
festgelegt haben, öffnen Sie ein Ticket mit dem Apigee Edge-Support zur weiteren Fehlerbehebung.
Netzwerksicherheitsdienste (NSS)
Network Security Services (NSS) ist eine Reihe von Bibliotheken, die die Entwicklung sicherheitsfähiger Client- und Serveranwendungen unterstützen. Sie sollten prüfen, ob Sie NSS v3.19 oder höher installiert haben.
So prüfen Sie Ihre aktuelle Version:
yum info nss
So aktualisieren Sie den NSS:
yum update nss
Weitere Informationen finden Sie in diesem Artikel von RedHat.
DNS-Lookup für IPv6 deaktivieren, wenn NSCD (Name Service Cache Daemon) verwendet wird
Wenn Sie NSCD (Name Service Cache Daemon) installiert und aktiviert haben, machen die Nachrichtenprozessoren zwei DNS-Lookups: einen für IPv4 und einen für IPv6. Sie sollten den DNS-Lookup für IPv6 deaktivieren, wenn Sie NSCD verwenden.
So deaktivieren Sie den DNS-Lookup für IPv6:
- Bearbeiten Sie
/etc/nscd.conf
auf jedem Message Processor-Knoten - Legen Sie die folgende Property fest:
enable-cache hosts no
IPv6 auf der Google Cloud Platform für RedHat/CentOS 7 deaktivieren
Wenn Sie Edge auf RedHat 7 oder CentOS 7 auf der Google Cloud Platform installieren, müssen Sie IPv6 auf allen Qpid-Knoten deaktivieren.
Anleitungen zum Deaktivieren von IPv6 finden Sie in der RedHat- oder CentOS-Dokumentation der jeweiligen Betriebssystemversion. Die wichtigsten Funktionen:
- Öffnen Sie
/etc/hosts
in einem Editor. - Geben Sie in der folgenden Zeile ein „#“-Zeichen ein, um es zu kommentieren:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Speichere die Datei.
AWS-AMI
Wenn Sie Edge auf einem AWS Amazon Machine Image (AMI) für Red Hat Enterprise Linux 7.x installieren, müssen Sie zuerst den folgenden Befehl ausführen:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
Tools
Das Installationsprogramm verwendet die folgenden UNIX-Tools in der Standardversion von EL5 oder EL6.
awk |
Expr |
libtxtt |
AZ/min |
unzip |
Basisname |
grep |
Lua-Sockel |
U/min2cpio |
Nutzer hinzufügen |
bash |
Hostname |
ls |
sed |
WC |
BC |
id |
Nettotools |
Sudo |
wget |
curl |
Libaio |
Prämie (von Anbietern) |
tar |
Xerces-C |
Cruru-Sasl | libdb4 | pgrep (von Anbietern) | tr | Mmmhh, lecker |
date |
libdb-Cxx |
ps |
uuid |
chkconfig |
Verz.-name | libibverbs | pwd | uname | |
echo | librdmacm (Librdmacm) | python |
ntpdate
Apigee empfiehlt, die Uhrzeiten Ihrer Server zu synchronisieren. Wenn das Tool ntpdate
nicht bereits konfiguriert ist, kann es zu diesem Zweck dienen. Damit wird geprüft, ob Server zeitsynchronisiert sind. Sie können das Dienstprogramm mit yum install ntp
installieren. Dies ist insbesondere beim Replizieren von OpenLDAP-Konfigurationen nützlich. Sie richten die Server-Zeitzone in UTC ein.
OpenLDAP 2.4
Für die lokale Installation ist OpenLDAP 2.4 erforderlich. Wenn Ihr Server mit dem Internet verbunden ist, lädt und installiert das Edge-Installationsskript OpenLDAP. Wenn Ihr Server keine Internetverbindung hat, müssen Sie prüfen, ob OpenLDAP bereits installiert ist, bevor Sie das Edge-Installationsskript ausführen. Unter RHEL/CentOS können Sie yum install openldap-clients openldap-servers
ausführen, um OpenLDAP zu installieren.
Bei 13-Host-Installationen und 12-Host-Installationen mit zwei Rechenzentren ist OpenLDAP-Replikation erforderlich, da OpenLDAP auf mehreren Knoten gehostet wird.
Firewalls und virtuelle Hosts
Der Begriff virtual
wird in der IT-Arena häufig überlastet, also mit einem Apigee Edge für Deployment in der privaten Cloud und virtuellen Hosts. Zur Klarstellung: Es gibt zwei primäre Verwendungen des Begriffs virtual
:
- Virtuelle Maschinen (VM): Nicht erforderlich, aber bei einigen Bereitstellungen werden VM-Technologien verwendet, um isolierte Server für ihre Apigee-Komponenten zu erstellen. VM-Hosts können wie physische Hosts Netzwerkschnittstellen und Firewalls haben.
- Virtuelle Hosts: Webendpunkte, analog zu einem virtuellen Apache-Host.
Ein Router in einer VM kann mehrere virtuelle Hosts verfügbar machen, solange sie sich in ihrem Host-Alias oder im Schnittstellenport unterscheiden.
Wie bei einem Namensbeispiel könnte auf einem einzelnen physischen Server A
zwei VMs mit den Namen „VM1“ und „VM2“ ausgeführt werden. Angenommen, „VM1“ stellt eine virtuelle Ethernet-Schnittstelle zur Verfügung, die innerhalb der VM den Namen „eth0“ erhält und der Virtualisierungsmaschine oder einem DHCP-Netzwerkserver die IP-Adresse 111.111.111.111
zugewiesen wird. Dann übernimmt VM2 eine virtuelle Ethernet-Schnittstelle mit dem Namen „eth0“ und erhält die IP-Adresse 111.111.111.222
.
Möglicherweise wird auf jeder der beiden VMs ein Apigee-Router ausgeführt. Die Router stellen virtuelle Hostendpunkte bereit, wie in diesem hypothetischen Beispiel gezeigt:
Der Apigee-Router in VM1 stellt drei virtuelle Hosts auf der eth0-Schnittstelle zur Verfügung (mit einer bestimmten IP-Adresse), api.mycompany.com:80
, api.mycompany.com:443
und test.mycompany.com:80
.
Der Router in VM2 stellt api.mycompany.com:80
zur Verfügung (gleicher Name und Port wie bei VM1).
Das Betriebssystem des physischen Hosts hat möglicherweise eine Netzwerkfirewall. Wenn das der Fall ist, muss diese Firewall so konfiguriert werden, dass der TCP-Traffic für die Ports ausgeführt wird, die auf den virtualisierten Schnittstellen (111.111.111.111:{80, 443}
und 111.111.111.222:80
) verfügbar sind. Außerdem kann das Betriebssystem jeder VM eine eigene Firewall auf der eth0-Schnittstelle bereitstellen und diese Verbindungen müssen die Ports 80 und 443 zulassen.
Der Basispfad ist die dritte Komponente, die an der Weiterleitung von API-Aufrufen an verschiedene von Ihnen bereitgestellte API-Proxys beteiligt ist. API-Proxy-Bundles können einen Endpunkt gemeinsam nutzen, wenn sie unterschiedliche Basispfade haben. Ein Basispfad kann beispielsweise als http://api.mycompany.com:80/
und ein anderer als http://api.mycompany.com:80/salesdemo
definiert werden.
In diesem Fall benötigen Sie einen Load-Balancer oder Traffic Director, der http://api.mycompany.com:80/ Traffic zwischen den beiden IP-Adressen aufgeteilt (111.111.111.111
auf VM1 und 111.111.111.222
auf VM2). Diese Funktion hängt von Ihrer lokalen Installation ab und wird von der lokalen Netzwerkgruppe konfiguriert.
Der Basispfad wird beim Bereitstellen einer API festgelegt. Im obigen Beispiel können Sie die beiden APIs mycompany
und testmycompany
für die Organisation mycompany-org
mit dem virtuellen Host, auf dem der Hostalias api.mycompany.com
festgelegt ist, und dem Port auf 80
bereitstellen. Wenn Sie in der Bereitstellung keinen Basispfad angeben, weiß der Router nicht, an welche API eingehende Anfragen gesendet werden sollen.
Wenn Sie jedoch die API testmycompany
mit der Basis-URL /salesdemo
bereitstellen, können Nutzer mit http://api.mycompany.com:80/salesdemo
auf diese API zugreifen. Wenn Sie Ihre API „mycompany“ mit der Basis-URL /
bereitstellen, können Nutzer über die URL http://api.mycompany.com:80/
auf die API zugreifen.
Lizenzen
Für jede Installation von Edge ist eine eindeutige Lizenzdatei erforderlich, die Sie von Apigee erhalten. Sie müssen den Pfad zur Lizenzdatei angeben, wenn Sie den Verwaltungsserver installieren, z. B. /tmp/license.txt.
Das Installationsprogramm kopiert die Lizenzdatei in /opt/apigee/customer/conf/license.txt
.
Wenn die Lizenzdatei gültig ist, validiert der Verwaltungsserver die Ablaufzeit und die zulässige Anzahl von Message Processor (MP). Wenn eine der Lizenzeinstellungen abgelaufen ist, findest du die Logs hier: /opt/apigee/var/log/edge-management-server/logs
.
In diesem Fall können Sie sich an den Apigee Edge Support wenden, um Details zur Migration zu erhalten.
Wenn Sie noch keine Lizenz haben, wenden Sie sich an Apigee Sales.