安装要求

Edge for Private Cloud v. 4.17.09

硬件要求

您必须满足以下最低硬件要求,才能在生产级环境中实现高可用性基础架构。对于安装拓扑中介绍的所有安装场景,下表列出了安装组件的最低硬件要求。

在这些表格中,硬盘要求不包括操作系统所需的硬盘空间。根据您的应用和网络流量,您的安装可能需要比下面列出的资源更多或更少的资源。

安装组件

RAM

CPU

最低硬盘要求

Cassandra

16 GB

8 核

250GB 本地存储空间,使用支持 2000 IOPS 的 SSD 或快速 HDD

消息处理器/路由器在同一台机器上

16 GB

8 核

100 GB

Analytics - Postgres/Qpid 位于同一服务器上(不建议用于生产环境)

16GB*

8 核*

500GB - 1TB** 网络存储***,最好具有 SSD 后端,支持 1000 IOPS 或更高*。

Analytics - Postgres 独立版

16GB*

8 核*

500GB - 1TB** 网络存储***,最好采用 SSD 后端,支持 1000 IOPS 或更高*。

Analytics - Qpid 独立

8 GB

4 核

30GB - 50GB 本地存储空间(SSD 或快速 HDD)

对于 TPS 大于 250 的安装,建议使用支持 1000 IOPS 的本地存储 HDD。

默认 Qpid 队列大小为 20 GB。如果您需要增加容量,请添加其他 Qpid 节点。

其他(OpenLDAP、界面、Management Server)

4GB

2 核

60 GB

*根据吞吐量调整 Postgres 系统要求:

  • 低于 250 TPS:可考虑使用 8GB、4 核,并搭配支持 1000 IOPS 或更高性能的托管式网络存储***
  • 大于 250 TPS:16GB、8 核、支持 1000 IOPS 或更高速率的代管式网络存储***
  • 大于 1000 TPS:16GB、8 核、支持 2000 IOPS 或更高性能的代管式网络存储***
  • 大于 2000 TPS:32GB、16 核、支持 2000 IOPS 或更高性能的代管式网络存储***
  • 大于 4000 TPS:64GB、32 核、支持 4000 IOPS 或更高性能的代管式网络存储***

**Postgres 硬盘值基于 Edge 捕获的开箱即用分析。如果您向分析数据添加自定义值,则应相应地增加这些值。使用以下公式估算所需的存储空间:

(每个请求的字节数)*(每秒请求数)*(每小时秒数)*(每天高峰使用小时数)*(每月天数)*(数据保留月数)= 所需的存储字节数

例如:

(每个请求 2K 字节的分析数据)* 100 req/sec * 3600 secs/hr * 每天 18 小时高峰使用 * 30 days/month * 3 个月保留 = 1,194,393,600,000 字节或 1194.4 GB。

*** 建议为 PostgreSQL 数据库使用网络存储,原因如下:

  • 它能够根据需要动态扩容存储空间。
  • 在当今的大多数环境/存储/网络子系统中,网络 IOPS 都可以实时调整。
  • 存储级快照可以作为备份和恢复解决方案的一部分启用。

此外,如果您希望安装变现服务,请参阅以下硬件要求:

包含变现功能的组件

RAM

CPU

硬盘

管理服务器(具有创收服务)

8 GB

4 核

60 GB

Analytics - Postgres/Qpid 位于同一服务器上

16 GB

8 核

500GB - 1TB 网络存储空间,最好采用 SSD 后端,支持 1000 IOPS 或更高,或使用上表中的规则。

Analytics - Postgres 独立版

16 GB

8 核

500GB - 1TB 网络存储空间,最好采用 SSD 后端,支持 1000 IOPS 或更高,或使用上表中的规则。

Analytics - Qpid 独立

8 GB

4 核

40GB - 500GB 本地存储空间(SSD 或高速 HDD)

对于 TPS 大于 250 的安装,建议使用支持 1000 IOPS 的本地存储 HDD。

下面列出了安装 API BaaS 的硬件要求:

API BaaS 组件

RAM

CPU

硬盘

ElasticSearch*

8 GB

4 核

60 - 80GB

API BaaS 堆栈 *

8 GB

4 核

60 - 80GB

API BaaS 门户

1GB

2 核

20GB

Cassandra(可选 - 通常您会为 Edge 和 API BaaS 服务使用相同的 Cassandra 集群)

16 GB

8 核

250GB 本地存储空间,使用支持 2000 IOPS 的 SSD 或快速 HDD

* 您可以在同一节点上安装 ElasticSearch 和 API BaaS Stack。如果这样做,请将 ElasticSearch 配置为使用 4GB 内存(默认)。如果 ElasticSearch 安装在自己的节点上,请将其配置为使用 6GB 内存。

注意:

  • 如果根文件系统不够大,无法进行安装,建议将数据放到更大的磁盘上。
  • 如果机器上安装了旧版 Apigee Edge for Private Cloud,请确保在安装新版本之前删除 /tmp/java 文件夹。
  • 系统级临时文件夹 /tmp 需要执行权限才能启动 Cassandra。
  • 如果用户“apigee”是在安装之前创建的,请确保“/home/apigee”作为主目录存在,并且归“apigee:apigee”所有。

操作系统和第三方软件要求

这些安装说明和提供的安装文件已在以下操作系统和第三方软件上进行了测试:https://apigee.com/docs/api-services/reference/supported-software。

创建 apigee 用户

安装过程会创建一个名为“apigee”的 Unix 系统用户。Edge 目录和文件归“apigee”所有,Edge 进程也是如此。这意味着 Edge 组件以“apigee”用户身份运行。如有必要,您可以以其他用户身份运行组件。如需查看示例,请参阅在节点上安装 Edge 组件中的“将路由器绑定到受保护的端口”。

安装目录

默认情况下,安装程序会将所有文件写入 /opt/apigee 目录。您无法更改此目录位置。虽然您无法更改此目录,但可以创建符号链接以将 /opt/apigee 映射到其他位置,如下所述。

在本指南的说明中,安装目录记为 /<inst_root>/apigee,其中 /<inst_root> 默认为 /opt。

正在从 /opt/apigee 创建符号链接

在创建符号链接之前,您必须先创建名为“apigee”的用户和群组。这与 Edge 安装程序创建的群组和用户相同。

如需创建符号链接,请在下载 bootstrap_4.17.01.sh 文件之前执行以下步骤。您必须以 root 身份执行以下所有步骤:

  1. 创建“apigee”用户和群组:
    > groupadd -r apigee
    > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. 创建从 /opt/apigee 到所需安装根目录的符号链接:
    > ln -Ts /srv/myInstallDir /opt/apigee
    其中 /srv/myInstallDir 是 Edge 文件的所需位置。
  3. 将安装根目录和符号链接的所有权更改为“apigee”用户:
    > chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Java

在安装之前,您需要在每台机器上安装受支持的 Java 1.8 版本。 此处列出了受支持的 JDK:

https://apigee.com/docs/api-services/reference/supported-software

确保 JAVA_HOME 指向执行安装的用户的 JDK 根目录。

SELinux

根据 SELinux 的设置,Edge 可能会在安装和启动 Edge 组件时遇到问题。如有必要,您可以在安装期间停用 SELinux 或将其设置为宽容模式,然后在安装后重新启用。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。

投放网络设置

建议在安装前检查网络设置。安装程序要求所有机器都具有固定 IP 地址。使用以下命令验证设置:

  • hostname 会返回机器的名称
  • hostname -i 会返回可从其他机器寻址的主机名的 IP 地址。

如果主机名设置不正确,您可能需要修改 /etc/hosts 和 /etc/sysconfig/network,具体取决于您的操作系统类型和版本。如需了解详情,请参阅特定操作系统的文档。

如果服务器有多个接口卡,“hostname -i”命令会返回以空格分隔的 IP 地址列表。默认情况下,Edge 安装程序会使用返回的第一个 IP 地址,这在所有情况下可能都不正确。或者,您也可以在安装配置文件中设置以下属性:

ENABLE_DYNAMIC_HOSTIP=y

将该属性设置为“y”后,安装程序会提示您选择要在安装过程中使用的 IP 地址。默认值为“n”。如需了解详情,请参阅 Edge 配置文件参考文档。

TCP Wrappers

TCP Wrapper 可能会阻止某些端口的通信,并可能影响 OpenLDAP、Postgres 和 Cassandra 安装。在这些节点上,检查 /etc/hosts.allow 和 /etc/hosts.deny,确保所需的 OpenLDAP、Postgres 和 Cassandra 端口没有端口限制。

iptables

验证是否存在任何 iptables 政策阻止节点之间通过所需的 Edge 端口进行连接。如有必要,您可以在安装期间使用以下命令停止 iptables:

> sudo/etc/init.d/iptables stop

在 CentOS 7.x 上:

> systemctl stop firewalld

确保边缘路由器可以访问 /etc/rc.d/init.d/functions

Edge 路由器和 BaaS 门户节点使用 Nginx 路由器,并且需要对 /etc/rc.d/init.d/functions 的读取权限。

如果您的安全流程要求您在 /etc/rc.d/init.d/functions 上设置权限,请勿将其设置为 700,否则路由器将无法启动。权限可以设置为 744,以允许对 /etc/rc.d/init.d/functions 的读取权限。

Cassandra

所有 Cassandra 节点都必须连接到环。Cassandra 将数据副本存储在多个节点上,以确保可靠性和容错能力。每个 Edge 键空间的复制策略决定了放置副本的 Cassandra 节点。如需了解详情,请参阅关于 Cassandra 复制因子和一致性级别。

Cassandra 会根据可用内存自动调整其 Java 堆大小。如需了解详情,请参阅调整 Java 资源。在性能下降或内存消耗较高的情况下。

安装 Edge for Private Cloud 后,您可以通过检查 /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml 文件来验证 Cassandra 是否已正确配置。例如,确保 Edge for Private Cloud 安装脚本设置了以下属性:

  • cluster_name
  • initial_token
  • partitioner
  • 种子
  • listen_address
  • rpc_address
  • snitch

警告:请勿修改此文件。

PostgreSQL 数据库

安装 Edge 后,您可以根据系统上的可用 RAM 量调整以下 PostgreSQL 数据库设置:

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

如需设置这些值,请执行以下操作:

  1. 修改 postgresql.properties:
    > vi /<inst_root>/apigee/customer/application/postgresql.properties

    如果该文件不存在,请创建它。
  2. 设置上面列出的属性。
  3. 保存修改内容。
  4. 重启 PostgreSQL 数据库:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

系统限制

确保您已在 Cassandra 和 消息处理器 节点上设置以下系统限制:

  • 在 Cassandra 节点上,在 /etc/security/limits.d/90-apigee-edge-limits.conf 中为安装用户(默认为“apigee”)设置软和硬 memlock、nofile 和地址空间 (as) 限制,如下所示:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited

  • 在消息处理器节点上,将 /etc/security/limits.d/90-apigee-edge-limits.conf 中打开的文件描述符数量上限设置为 64K,如下所示:
    apigee soft nofile 32768
    apigee hard nofile 65536


    如有必要,您可以提高该限制。例如,如果您在任何时候都打开了大量临时文件。

jsvc

“jsvc”是使用 API BaaS 的前提条件。安装 API BaaS 时,系统会安装 1.0.15-dev 版本。

网络安全服务 (NSS)

网络安全服务 (NSS) 是一组库,支持开发启用了安全性的客户端和服务器应用。您应确保已安装 NSS v3.19 或更高版本。

如需查看当前版本,请执行以下操作:

> yum info nss

如需更新 NSS,请执行以下操作:

> yum update nss

如需了解详情,请参阅 RedHat 的这篇文章。

使用 NSCD(名称服务缓存守护程序)时,停用 IPv6 上的 DNS 查找

如果您已安装并启用 NSCD(名称服务缓存守护程序),则消息处理器会执行两次 DNS 查找:一次针对 IPv4,一次针对 IPv6。使用 NSCD 时,您应在 IPv6 上停用 DNS 查找。

如需停用 IPv6 上的 DNS 查找,请执行以下操作:

  1. 在每个消息处理器节点上,修改 /etc/nscd.conf
  2. 设置以下属性:
    enable-cache hosts no

在 Google Cloud Platform 上为 RedHat/CentOS 7 停用 IPv6

如果您要在 Google Cloud Platform 上的 RedHat 7 或 CentOS 7 上安装 Edge,则必须在所有 Qpid 节点上停用 IPv6。

如需了解如何停用 IPv6,请参阅适用于您的特定操作系统版本的 RedHat 或 CentOS 文档。例如,您可以:

  1. 在编辑器中打开 /etc/hosts。
  2. 在以下行的第一列中插入“#”字符,将其注释掉:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 保存文件。

AWS AMI

如果您要在适用于 Red Hat Enterprise Linux 7.x 的 AWS Amazon Machine Image (AMI) 上安装 Edge,则必须先运行以下命令:

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

工具

安装程序使用 EL5 或 EL6 提供的标准版本中的以下 UNIX 工具。

awk

expr

lua-socket

每分钟转数

unzip

basename

grep

ls

rpm2cpio

useradd

bash

主机名

net-tools

sed

wc

bc

id

perl(来自 procps)

sudo(提权)

wget

curl

libaio

pgrep(来自 procps)

tar

xerces-c

cyrus-sasl
libdb-cxx
ps tr 美味

date

libibverbs

pwd

uuid

chkconfig

dirname
librdmacm
Python uname
echo
libxslt

注意:

  • 工具“useradd”的可执行文件位于 /usr/sbin 中,chkconfig 的可执行文件位于 /sbin 中。
  • 借助 sudo 访问权限,您可以访问调用用户的环境,例如,您通常会调用“sudo <command>”或“sudo PATH=$PATH:/usr/sbin:/sbin <command>”。
  • 在安装 Service Pack(补丁)之前,请确保您已安装“patch”工具。

ntpdate - 建议同步服务器时间。如果尚未配置,可以使用“ntpdate”实用程序来验证服务器是否已同步时间。您可以使用“yum install ntp”来安装该实用程序。这对于复制 OpenLDAP 设置特别有用。请注意,您需要将服务器时区设置为世界协调时间 (UTC)。

openldap 2.4 - 本地安装需要 OpenLDAP 2.4。如果您的服务器具有互联网连接,则 Edge 安装脚本会下载并安装 OpenLDAP。如果您的服务器没有互联网连接,则必须确保在运行 Edge 安装脚本之前已安装 OpenLDAP。在 RHEL/CentOS 上,您可以运行“yum install openldap-clients openldap-servers”来安装 OpenLDAP。

对于 13 主机安装和具有两个数据中心的 12 主机安装,您需要 OpenLDAP 复制,因为有多个节点托管 OpenLDAP。

防火墙和虚拟主机

“虚拟”一词在 IT 领域通常会被过度使用,Apigee Edge for Private Cloud 部署和虚拟主机也是如此。需要说明的是,“虚拟”一词主要有两种用法:

  • 虚拟机 (VM):非必需,但某些部署使用虚拟机技术为其 Apigee 组件创建隔离的服务器。虚拟机主机与物理主机一样,可以具有网络接口和防火墙。
  • 虚拟主机:Web 端点,类似于 Apache 虚拟主机。

虚拟机中的路由器可以公开多个虚拟主机(只要它们的主机别名或接口端口不同)。

举个命名示例,单个物理服务器“A”可能运行两个虚拟机,分别名为“VM1”和“VM2”。假设 VM1 公开了一个虚拟以太网接口,该接口在虚拟机内名为 eth0,并由虚拟化机制或网络 DHCP 服务器分配了 IP 地址 111.111.111.111;然后假设 VM2 公开了一个同样名为 eth0 的虚拟以太网接口,并分配了 IP 地址 111.111.111.222。

我们可能在两个虚拟机中各运行一个 Apigee 路由器。路由器会公开虚拟主机端点,如以下假设示例所示:

VM1 中的 Apigee 路由器在其 eth0 接口(具有一些特定 IP 地址)上公开三个虚拟主机:api.mycompany.com:80、api.mycompany.com:443 和 test.mycompany.com:80。

VM2 中的路由器公开 api.mycompany.com:80(与 VM1 公开的名称和端口相同)。

物理主机的操作系统可能具有网络防火墙;如果是这样,则必须将该防火墙配置为传递绑定到虚拟化接口上公开的端口(111.111.111.111:{80, 443} 和 111.111.111.222:80)的 TCP 流量。此外,每个虚拟机的操作系统都可能在其 eth0 接口上提供自己的防火墙,这些防火墙也必须允许端口 80 和 443 流量进行连接。

基本路径是路由 API 调用到您可能已部署的不同 API 代理时涉及的第三个组件。如果 API 代理软件包具有不同的基本路径,则可以共享一个端点。例如,一个基本路径可以定义为 http://api.mycompany.com:80/,另一个基本路径可以定义为 http://api.mycompany.com:80/salesdemo。

在这种情况下,您需要某种负载均衡器或流量控制器,在两个 IP 地址(虚拟机 1 上的 111.111.111.111 和虚拟机 2 上的 111.111.111.222)之间拆分 http://api.mycompany.com:80/ 流量。此功能特定于您的特定安装,由本地网络组配置。

基本路径是在您部署 API 时设置的。在上述示例中,您可以为组织 mycompany-org 部署两个 API(mycompany 和 testmycompany),其虚拟主机的主机别名为 api.mycompany.com,端口设置为 80。如果您未在部署中声明基本路径,则路由器不知道要将传入请求发送到哪个 API。

但是,如果您使用基础网址 /salesdemo 部署 API testmycompany,则用户可以使用 http://api.mycompany.com:80/salesdemo 访问该 API。如果您部署 API mycompany 且基础网址为 /,则用户可以通过网址 http://api.mycompany.com:80/ 访问该 API。

Edge 端口要求

防火墙的管理需求不仅限于虚拟主机;虚拟机和物理主机防火墙都必须允许组件之间相互通信所需的端口流量。

下图显示了每个 Edge 组件的端口要求:

此图表的注意事项:

  • *只有在路由器和消息处理器之间配置 TLS/SSL 时,消息处理器上的端口 8082 才必须打开以供路由器访问。如果您未在路由器和消息处理器之间配置 TLS/SSL(默认配置),则仍必须在消息处理器上打开端口 8082 才能管理组件,但路由器不需要访问该端口。
  • 前缀为“M”的端口是用于管理组件的端口,必须在组件上打开,并且必须在组件上打开,以便管理服务器访问。
  • 以下组件需要访问管理服务器上的端口 8080:路由器、消息处理器、界面、Postgres 和 Qpid。
  • Message Processor 必须打开端口 4528 作为其管理端口。如果您有多个消息处理器,则它们都必须能够通过端口 4528 相互访问(如上图中消息处理器上端口 4528 的循环箭头所示)。如果您有多个数据中心,则所有数据中心内的所有消息处理器都必须能够访问该端口。
  • 虽然这不是必需的,但您可以在路由器上打开端口 4527,以便任何消息处理器访问。否则,您可能会在消息处理器日志文件中看到出错提示。
  • 路由器必须打开端口 4527 作为其管理端口。如果您有多个路由器,则它们必须能够通过端口 4527 相互访问(如上图中路由器上端口 4527 的循环箭头所示)。
  • Edge 界面需要通过 API 代理公开的端口访问路由器,以支持跟踪记录工具中的发送按钮。
  • Management Server 需要访问 Cassandra 节点上的 JMX 端口。
  • 可以将对 JMX 端口的访问配置为需要用户名/密码。如需了解详情,请参阅如何监控。
  • 您可以选择为某些连接配置 TLS/SSL 访问权限,这些连接可以使用不同的端口。如需了解详情,请参阅 TLS/SSL。
  • 如果将两个 Postgres 节点配置为使用主备复制,则必须在每个节点上打开端口 22 以进行 SSH 访问。您可以选择在各个节点上打开端口,以允许 SSH 访问。
  • 您可以将管理服务器和 Edge 界面配置为通过外部 SMTP 服务器发送电子邮件。如果使用,您必须确保 Management Server 和界面可以访问 SMTP 服务器上的必要端口。对于非 TLS SMTP,端口号通常为 25。对于启用了 TLS 的 SMTP,端口通常为 465,但请咨询您的 SMTP 提供商。

下表显示了需要在防火墙中打开的端口(按 Edge 组件):

组件

端口

说明

标准 HTTP 端口

80、443

HTTP 以及您用于虚拟主机的任何其他端口

管理服务器

8080

Edge Management API 调用的端口。以下组件需要访问管理服务器上的端口 8080:路由器、消息处理器、界面、Postgres 和 Qpid。

1099

JMX 端口

4526

用于分布式缓存和管理调用

管理界面

9000

用于通过浏览器访问管理界面的端口

消息处理器

8998

用于接收来自路由器的通信的消息处理器端口

8082

消息处理器的默认管理端口,必须在组件上打开,以便管理服务器访问。

如果您在路由器和消息处理器之间配置 TLS/SSL,则路由器会使用该密钥库对消息处理器进行健康检查。

1101

JMX 端口

4528

用于消息处理器之间的分布式缓存和管理调用,以及来自路由器和管理服务器的通信

路由器

8081

路由器的默认管理端口,必须在组件上打开,以便管理服务器访问。

4527

用于分布式缓存和管理调用

15999

健康检查端口。负载均衡器使用此端口来确定路由器是否可用。

为了获取路由器的状态,负载均衡器会向路由器上的端口 15999 发出请求:

> curl -v http://<routerIP>:15999/v1/servers/self/reachable

如果路由器可访问,则请求会返回 HTTP 200。

59001

apigee-validate 实用程序用于测试 Edge 安装的端口。 此实用程序需要访问路由器上的端口 59001。如需详细了解端口 59001,请参阅测试安装。

ZooKeeper

2181

由管理服务器、路由器、消息处理器等其他组件使用

2888、3888

由 ZooKeeper 在内部用于 ZooKeeper 集群(称为 ZooKeeper 集合)通信

Cassandra

7000、9042、9160

用于 Cassandra 节点之间通信以及供其他 Edge 组件访问的 Apache Cassandra 端口。

7199

JMX 端口。必须开放,以便管理服务器访问。

Qpid

5672

用于从路由器和消息处理器到 Qpid 服务器的通信

8083

Qpid 服务器上的默认管理端口,必须在组件上打开,以便管理服务器访问。

1102

JMX 端口

4529

用于分布式缓存和管理调用

Postgres

5432

用于从 Qpid/管理服务器到 Postgres 的通信

8084

Postgres 服务器上的默认管理端口,必须在组件上打开,以便管理服务器访问。

1103

JMX 端口

4530

用于分布式缓存和管理调用

22

如果将两个 Postgres 节点配置为使用主备复制,则必须在每个节点上打开端口 22 以进行 SSH 访问。

LDAP

10389

OpenLDAP

SmartDocs

59002

Edge 路由器上发送 SmartDocs 页面请求的端口。

下表按数字顺序列出了相同的端口,以及来源和目标组件:

端口号

用途

来源组件

目标组件

<virtual host port#>

HTTP 以及您用于虚拟主机 API 调用流量的任何其他端口。最常用的是端口 80 和 443;消息路由器可以终止 TLS/SSL 连接。

外部客户端(或负载均衡器)

消息路由器上的监听器

1099 至 1103

JMX 管理

JMX 客户端

管理服务器 (1099)

消息处理器 (1101)

Qpid 服务器 (1102)

Postgres 服务器 (1103)

2181

Zookeeper 客户端通信

管理服务器

路由器

消息处理器

Qpid 服务器

Postgres 服务器

ZooKeeper

2888 和 3888

Zookeeper 节点间管理

ZooKeeper

ZooKeeper

4526

RPC 管理端口

管理服务器

管理服务器

4527 用于分布式缓存和管理调用以及路由器之间通信的 RPC 管理端口

管理服务器

路由器

路由器

4528

用于消息处理器之间的分布式缓存调用,以及来自路由器的通信

管理服务器

路由器

消息处理器

消息处理器

4529 用于分布式缓存和管理调用的 RPC 管理端口 管理服务器 Qpid 服务器
4530 用于分布式缓存和管理调用的 RPC 管理端口 管理服务器 Postgres 服务器

5432

Postgres 客户端

Qpid 服务器

Postgres

5672

用于将分析数据从路由器和消息处理器发送到 Qpid

路由器

消息处理器

Qpid 服务器

7000

Cassandra 节点间通信

Cassandra

其他 Cassandra 节点

7199

JMX 管理。必须在 Cassandra 节点上打开,以便管理服务器访问。

JMX 客户端

Cassandra

8080

Management API 端口

Management API 客户端

管理服务器

8081 至 8084

组件 API 端口,用于直接向各个组件发出 API 请求。 每个组件都会打开一个不同的端口;所使用的确切端口取决于配置,但必须在组件上打开,以便管理服务器访问

Management API 客户端

路由器 (8081)

消息处理器 (8082)

Qpid 服务器 (8083)

Postgres 服务器 (8084)

8998

路由器与消息处理器之间的通信

路由器

消息处理器

9000

默认 Edge 管理界面端口

浏览器

管理界面服务器

9042

CQL 原生传输

路由器

消息处理器

管理服务器

Cassandra

9160

Cassandra thrift 客户端

路由器

消息处理器

管理服务器

Cassandra

10389

LDAP 端口

管理服务器

OpenLDAP

15999

健康检查端口。负载均衡器使用此端口来确定路由器是否可用。

负载均衡器 路由器
59001 apigee-validate 实用程序用于测试 Edge 安装的端口 apigee-validate 路由器

59002

发送 SmartDocs 页面请求的路由器端口

SmartDocs

路由器

消息处理器会保持与 Cassandra 的专用连接池处于打开状态,该连接池配置为永不超时。当防火墙位于消息处理器和 Cassandra 服务器之间时,防火墙可能会导致连接超时。不过,消息处理器并非设计为重新建立与 Cassandra 的连接。

为防止出现这种情况,Apigee 建议将 Cassandra 服务器、消息处理器和路由器置于同一子网中,以便在部署这些组件时不涉及防火墙。

如果路由器和消息处理器之间有防火墙,并且设置了空闲 TCP 超时,我们建议:

  1. 在 Linux 操作系统的 sysctl 设置中,将 net.ipv4.tcp_keepalive_time = 1800 设置为 1800,该值应低于防火墙空闲 TCP 超时。此设置应使连接保持已建立状态,以便防火墙不会断开连接。
  2. 在所有消息处理器上,修改 /<inst_root>/apigee/customer/application/message-processor.properties 以添加以下属性。如果该文件不存在,请创建它。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. 重启消息处理器:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. 在所有路由器上,修改 /<inst_root>/apigee/customer/application/router.properties 以添加以下属性。如果该文件不存在,请创建它。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. 重启路由器:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

如果您安装具有两个数据中心的 12 主机集群配置,请确保两个数据中心内的节点可以通过如下所示的端口进行通信:

API BaaS 端口要求

如果您选择安装 API BaaS,则需要添加 API BaaS Stack 和 API BaaS Portal 组件。 这些组件使用下图所示的端口:

此图表的注意事项:

  • API BaaS 门户绝不会直接向 BaaS Stack 节点发出请求。当开发者登录门户时,门户应用会下载到浏览器。然后,在浏览器中运行的 Portal 应用会向 BaaS Stack 节点发出请求。
  • API BaaS 的生产安装在 API BaaS 门户节点和 API BaaS Stack 节点之间使用负载均衡器。在配置门户以及进行 BaaS API 调用时,您需要指定负载均衡器的 IP 地址或 DNS 名称,而不是堆栈节点的 IP 地址或 DNS 名称。
  • 所有 Stack 节点都必须打开端口 2551,以便所有其他 Stack 节点访问(如上图中 Stack 节点上端口 2551 的循环箭头所示)。如果您有多个数据中心,则必须能够从所有数据中心的所有 Stack 节点访问该端口。
  • 您必须将所有 Baas Stack 节点配置为通过外部 SMTP 服务器发送电子邮件。对于非 TLS SMTP,端口号通常为 25。对于启用了 TLS 的 SMTP,通常为 465,但请咨询您的 SMTP 提供商。
  • Cassandra 节点可以专用于 API BaaS,也可以与 Edge 共享。

下表按组件显示了需要在防火墙中打开的默认端口:

组件

端口

说明

API BaaS 门户

9000

API BaaS 界面的端口

API BaaS 堆栈

8080

接收 API 请求的端口

2551

用于在所有 Stack 节点之间进行通信的端口。必须可供数据中心内的所有其他 Stack 节点访问。

如果您有多个数据中心,则必须能够从所有数据中心内的所有 Stack 节点访问该端口。

ElasticSearch

9200 至 9400

用于与 API BaaS Stack 通信以及在 ElasticSearch 节点之间通信

许可

每次安装 Edge 都需要一个从 Apigee 获取的唯一许可文件。在安装管理服务器时,您需要提供许可文件的路径,例如 /tmp/license.txt。

安装程序会将许可文件复制到 /<inst_root>/apigee/customer/conf/license.txt。

如果许可文件有效,管理服务器会验证到期时间和允许的消息处理器 (MP) 数量。如果任何许可设置已过期,您可以在以下位置找到日志:/<inst_root>/apigee/var/log/edge-management-server/logs。在这种情况下,您可以与 Apigee 支持团队联系,了解迁移详情。

如果您还没有许可,请点击此处与销售团队联系。