安装要求

Edge for Private Cloud v4.18.01

硬件要求

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

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

安装组件 RAM CPU 最低磁盘
Cassandra 16 GB 8 核 250 GB 本地存储空间,配备支持 2000 IOPS 的 SSD 或快速 HDD
同一机器上的消息处理器/路由器 16 GB 8 核 100 GB
分析 - 同一服务器上的 Postgres/Qpid(不建议用于生产环境) 16GB* 8 核* 500GB - 1TB** 网络存储空间***,最好采用 SSD 后端,支持 1000 IOPS 或更高*
分析 - Postgres 独立版 16GB* 8 核* 500GB - 1TB** 网络存储空间***,最好采用 SSD 后端,支持 1000 IOPS 或更高*
Analytics - Qpid 独立版 8 GB 4 核 30GB - 50GB 本地存储空间,配备 SSD 或快速 HDD

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

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

其他(OpenLDAP、界面、管理服务器) 4GB 2 核 60 GB

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

  • 低于 250 TPS:可以考虑使用 8 GB、4 核的配置,搭配支持 1, 000 IOPS 或更高 IOPS 的托管网络存储***
  • 高于 250 TPS:16 GB、8 核、托管网络存储***,支持 1000 IOPS 或更高
  • 大于 1000 TPS:16GB、8 核、受管网络存储***,支持 2000 IOPS 或更高
  • 大于 2000 TPS:32 GB、16 核、受管理的网络存储***,支持 2000 IOPS 或更高
  • 高于 4000 TPS:64 GB、32 核、托管网络存储***,支持 4000 IOPS 或更高

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

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

例如:

(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

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

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

此外,如果您想安装创收服务,则需要满足以下硬件要求:

包含创收功能的组件 RAM CPU 硬盘
管理服务器(包含创收服务) 8 GB 4 核 60 GB
分析 - 同一服务器上的 Postgres/Qpid 16 GB 8 核 500 GB - 1 TB 网络存储空间,最好具有 SSD 后端,支持 1,000 IOPS 或更高,或者使用上表中的规则。
分析 - Postgres 独立版 16 GB 8 核 500 GB - 1 TB 网络存储空间,最好具有 SSD 后端,支持 1,000 IOPS 或更高,或者使用上表中的规则。
Analytics - Qpid 独立版 8 GB 4 核 40 GB - 500 GB 本地存储空间,配备 SSD 或快速 HDD

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

如果您想安装 API BaaS,则需要满足以下硬件要求:

API BaaS 组件 RAM CPU 硬盘
ElasticSearch* 8 GB 4 核 60-80GB
API BaaS Stack* 8 GB 4 核 60-80GB
API BaaS 门户网站 1GB 2 核 20GB
Cassandra** 16 GB 8 核 250 GB 本地存储空间,配备支持 2000 IOPS 的 SSD 或快速 HDD

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

** 可选;通常,您会为 Edge 和 API BaaS 服务使用同一 Cassandra 集群。

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

这些安装说明和提供的安装文件已在支持的软件和支持的版本中列出的操作系统和第三方软件上经过测试。

创建 Apigee 用户

安装过程会创建一个名为“apigee”的 Unix 系统用户。Edge 目录和文件归“apigee”所有,Edge 进程也是如此。这意味着 Edge 组件以“apigee”用户身份运行。如有必要,您可以以其他用户身份运行组件。

安装目录

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

在本指南的说明中,安装目录标记为 /opt/apigee。

从 /opt/apigee 创建符号链接

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

如需创建符号链接,请在下载 bootstrap_4.18.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 列在受支持的软件和受支持的版本中。

确保 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 Wrappers 可以阻止某些端口的通信,并会影响 OpenLDAP、Postgres 和 Cassandra 的安装。在这些节点上,检查 /etc/hosts.allow 和 /etc/hosts.deny,确保所需的 OpenLDAP、Postgres 和 Cassandra 端口没有端口限制。

iptables

验证是否没有 iptables 政策阻止必需边缘端口上的节点之间的连接。如有必要,您可以在安装期间使用以下命令停止 iptables:

sudo/etc/init.d/iptables stop

在 CentOS 7.x 上:

systemctl stop firewalld

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

边缘路由器和 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 后,您可以检查 /opt/apigee/apigee-cassandra/conf/cassandra.yaml 文件,确保 Cassandra 已正确配置。例如,确保 Edge for Private Cloud 安装脚本设置了以下属性:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • 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 /opt/apigee/customer/application/postgresql.properties

    如果该文件不存在,请创建它。

  2. 设置上述属性。
  3. 保存修改内容。
  4. 重启 PostgreSQL 数据库:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

系统限制

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

  • 在 Cassandra 节点上,为安装用户(默认值为“apigee”)设置 /etc/security/limits.d/90-apigee-edge-limits.conf 中的软硬 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
  • 在消息处理器节点上,将打开文件描述符数量上限设置为 64K,如 /etc/security/limits.d/90-apigee-edge-limits.conf 中所示:
    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

如果您要在 AWS Amazon Machine Image (AMI) 上安装 Edge,请先运行以下命令:

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

工具

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

awk

expr

libxslt

每分钟转数

unzip

basename

grep

lua-socket

rpm2cpio

useradd

bash

主机名

ls

sed

wc

bc

id

net-tools

sudo(提权)

wget

curl

libaio

perl(来自 procps)

tar

xerces-c

cyrus-sasl libdb4 pgrep(来自 procps) tr 美味

date

libdb-cxx

ps

uuid

chkconfig

dirname libibverbs pwd uname  
echo librdmacm Python    

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 领域,virtual 一词通常会被过度使用,Apigee Edge Private Cloud 部署和虚拟主机也是如此。为明确起见,virtual 一词主要有以下两种用法:

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

虚拟机中的路由器可以公开多个虚拟主机(只要这些虚拟主机在主机别名或接口端口方面彼此不同)。

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

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

虚拟机 1 中的 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。

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

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

不过,如果您部署的 API testmycompany 的基本网址为 /salesdemo,那么用户将使用 http://api.mycompany.com:80/salesdemo 访问该 API。如果您部署的 API mycompany 的基准网址为 /,那么您的用户将通过网址 http://api.mycompany.com:80/ 访问该 API。

边缘端口要求

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

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

有关此图表的注意事项:

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

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

组件 端口 说明
标准 HTTP 端口 80、443 HTTP 以及您用于虚拟主机的任何其他端口
管理服务器 8080 Edge 管理 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 Apache Cassandra 端口,用于 Cassandra 节点之间的通信以及其他 Edge 组件的访问。
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 管理 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. 在所有消息处理器上,修改 /opt/apigee/customer/application/message-processor.properties 以添加以下属性。如果该文件不存在,请创建它。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. 重启消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. 在所有路由器上,修改 /opt/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 堆栈节点之间使用负载均衡器。配置门户时以及进行 BaaS API 调用时,您需要指定负载均衡器的 IP 地址或 DNS 名称,而不是 Stack 节点的 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。

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

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

如果您还没有许可,请与 Apigee 销售人员联系。