安装要求

硬件要求

您必须满足以下最低硬件要求,才能获得高可用性 部署在生产级环境中的基础架构。

以下视频为您提供了安装时的总体尺寸调整指南:

对于安装拓扑中描述的所有安装场景,下表中列出了 对安装组件的最低硬件要求

在以下表格中,除了要用到的磁盘可用空间之外, 操作系统根据您的应用和网络流量,您的安装可能 所需的资源比下面列出的资源要多或少。

安装组件 RAM CPU 最小硬盘
Cassandra 16 GB 8 核 250GB 本地存储空间,固态硬盘支持 2000 IOPS
消息处理器/路由器 16 GB 8 核 100GB
消息处理器(独立) 16 GB 8 核 100GB
路由器(独立) 16 GB 8 核 100GB
Google Analytics- 同一服务器上的 Postgres/Qpid 16GB* 8 核* 500GB - 1TB** 网络存储空间***,最好带 SSD 后端, 支持 1000 IOPS 或更高*
Google Analytics- Postgres 主实例或备用实例(独立) 16GB* 8 核* 500GB - 1TB** 网络存储空间***,最好带 SSD 后端, 支持 1000 IOPS 或更高*
Google Analytics- Qpid 独立式 8 GB 4 核 30GB - 50GB 本地存储空间(带 SSD)

默认 Qpid 队列大小为 1 GB,可以增加到 2 GB。如果您需要 请添加更多 Qpid 节点。

OpenLDAP/界面/管理服务器 8 GB 4 核 60 GB
界面/管理服务器 4GB 2 核 60 GB
OpenLDAP(独立) 4GB 2 核 60 GB

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

  • 低于 250 TPS:可在托管网络中考虑使用 8GB 四核处理器 存储空间***,支持 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 捕获的开箱即用分析结果。 如果您向分析数据添加自定义值,则应增加这些值 。使用以下公式估算所需存储空间:

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 of storage needed

*** 建议为 Postgresql 数据库使用 Network Storage,因为:

  • 它能够在以下情况下动态增加存储空间大小: 必填字段。
  • 在当今的大部分 环境/存储/网络子系统。
  • 可以在备份和恢复过程中启用存储级快照 解决方案。

此外,下面还列出了在 Google Cloud 控制台中安装 变现服务(一体化安装不支持):

支持创收功能的组件 RAM CPU 硬盘
管理服务器(含变现服务) 8 GB 4 核 60 GB
Google Analytics- 同一服务器上的 Postgres/Qpid 16 GB 8 核 500GB - 1TB 网络存储空间,最好带 SSD 后端,支持 1000 IOPS 或 或使用上表中的规则。
Google Analytics- Postgres 主实例或备用独立式 16 GB 8 核 500GB - 1TB 网络存储空间,最好带 SSD 后端,支持 1000 IOPS 或 或使用上表中的规则。
Google Analytics- Qpid 独立式 8 GB 4 核 40GB - 500GB 本地存储空间(含 SSD 或快速 HDD)

如果安装时间超过 250 TPS,本地存储支持 1000 IOPS 的 HDD 建议。

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

这些安装说明和提供的安装文件已在 操作系统和第三方软件 支持的软件和支持的版本

Java

您需要在安装前在每台计算机上安装受支持的 Java 1.8 版本。 支持的 JDK 列在 支持的软件和支持的版本

确保 JAVA_HOME 环境变量指向 JDK 的根目录 执行安装的用户操作

SELinux

根据您针对 SELinux 的设置,Edge 可能会遇到安装和启动问题 Edge 组件。如有必要,您可以停用 SELinux 或在 然后在安装后重新启用它。如需了解详情,请参阅安装 Edge apigee-setup 实用程序

创建“apigee”用户

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

安装目录

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

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

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

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

  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

投放网络设置

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

  • hostname 会返回机器的名称
  • hostname -i 返回可通过该地址访问的主机名的 IP 地址 其他机器。

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

如果服务器有多张接口卡,“主机名 -i”命令会返回以空格分隔的 IP 地址列表。默认情况下,Edge 安装程序使用返回的第一个 IP 地址, 并不一定在所有情况下都正确。作为替代方案,您可以在 安装配置文件:

ENABLE_DYNAMIC_HOSTIP=y

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

TCP 封装容器

TCP 封装容器可以阻止某些端口的通信,并可能影响 OpenLDAP、Postgres 和 Cassandra 安装。在这些节点上,检查 /etc/hosts.allow/etc/hosts.deny,用于确保对所需 OpenLDAP、Postgres 和 Cassandra 端口。

iptables

验证是否没有 iptables 政策阻止了上 所需的边缘端口如有必要,您可以使用 命令:

sudo/etc/init.d/iptables stop

在 CentOS 7.x 上:

systemctl stop firewalld

目录访问权限

下表列出了 Edge 节点上具有特殊要求的目录, 边缘进程:

服务 目录 说明
路由器 /etc/rc.d/init.d/functions

边缘路由器使用 Nginx 路由器,并且需要 /etc/rc.d/init.d/functions

如果您的安全流程要求您针对 /etc/rc.d/init.d/functions,请不要将其设为 700,否则路由器会 无法启动。

您可以将权限设置为 744,以允许对 /etc/rc.d/init.d/functions

ZooKeeper /dev/random Zookeeper 客户端库需要具有对随机数生成器的读取权限 /dev/random。如果 /dev/random 在读取时被屏蔽,则 Zookeeper 服务可能无法启动。

卡桑德拉

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

Cassandra 会根据可用内存自动调整其 Java 堆大小。有关详情,请参阅 微调 Java 资源

安装适用于私有云的 Edge 后,您可以检查 Cassandra 是否已配置 检查 /opt/apigee/apigee-cassandra/conf/cassandra.yaml 文件。例如,确保适用于私有云的 Edge 安装脚本设置了以下 属性:

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

PostgreSQL 数据库

安装 Edge 后,您可以根据 系统上的可用 RAM 容量:

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

    如有必要,您可以提高该上限。例如,如果您有大量 临时文件。

  • 如果您在路由器或消息处理器中看到以下错误, system.log,则您的文件描述符上限可能设置得过低:

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

    您可以运行以下命令来查看用户限制:

    # su - apigee
    $ ulimit -n
    100000
    

    将文件描述符限制设置为 100000,向 Apigee Edge 支持开立工单,进一步排查问题。

网络威胁防护服务 (NSS)

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

如需查看当前版本,请按以下步骤操作:

yum info nss

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

yum update nss

请参阅这篇文章。 了解详情。

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

如果已安装并启用 NSCD(名称服务缓存守护程序),则消息处理器 进行两次 DNS 查找:一次用于 IPv4,另一次用于 IPv6。出现以下情况时,您应该停用 IPv6 上的 DNS 查找: 使用 NSCD 处理。

要在 IPv6 上停用 DNS 查找功能,请执行以下操作:

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

在 Google Cloud 上停用 IPv6 适用于 RedHat/CentOS 7 的平台

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

有关说明,请参阅您具体操作系统版本的 RedHat 或 CentOS 文档。 停用 IPv6。例如,您可以:

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

AWS AMI

如果要在适用于 Red Hat Enterprise Linux 的 AWS Amazon 机器映像 (AMI) 上安装 Edge 您必须先运行以下命令:

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

工具

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

awk

表达式

libxslt

每分钟转数

unzip

基名

grep

lua-socket

rpm2cpio

添加

bash

主机名

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

利巴约

perl(来自 procps)

tar

谢尔塞斯-C

Cyrus-Sasl libdb4 pgrep(来自 procps) tr 美味

date

libdb-cxx

ps

uuid

chkconfig

dirname 附言 pwd uname  
echo librdmacm Python    

ntpdate

Apigee 建议您将服务器的时间是否同步。如果尚未配置 ntpdate 实用程序可以用于此目的, 服务器是否进行时间同步。您可以使用 yum install ntp 来安装 实用程序。这在复制 OpenLDAP 设置时特别有用。请注意,您设置了 时区。

openldap 2.4

本地安装需要 OpenLDAP 2.4。如果您的服务器已连接到互联网, 然后下载并安装 OpenLDAP.如果您的服务器未连接到互联网,请务必确保 OpenLDAP 已 。在 RHEL/CentOS 上,你可以 yum install openldap-clients openldap-servers 安装 OpenLDAP。

对于 13 台主机安装以及具有 2 个数据中心的 12 台主机安装:OpenLDAP 需要进行复制,因为有多个托管 OpenLDAP 的节点。

防火墙和虚拟主机

术语 virtual 在 IT 领域经常被大量使用,因此它是一个 适用于私有云部署和虚拟主机的 Apigee Edge。需要说明的是 “virtual”一词的使用:

  • 虚拟机 (VM):不是必需的,但部分部署会使用虚拟机技术 为 Apigee 组件创建独立的服务器。虚拟机主机(如物理主机)可以 网络接口和防火墙
  • 虚拟主机:网络端点,类似于 Apache 虚拟主机。

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

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

两个虚拟机中可能都运行了一个 Apigee 路由器。路由器会公开虚拟主机 如以下假设示例所示:

VM1 中的 Apigee 路由器在其 eth0 接口(有一些 特定 IP 地址)、api.mycompany.com:80api.mycompany.com:443test.mycompany.com:80

VM2 中的路由器公开了 api.mycompany.com:80(与 虚拟机 1)。

物理主机的操作系统可能具有网络防火墙;如果是,该防火墙 必须配置为通过 接口(111.111.111.111:{80, 443}111.111.111.222:80)。在 此外,每个虚拟机的操作系统可能在其 eth0 接口上提供自己的防火墙, 还必须允许端口 80 和 443 流量进行连接。

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

在这种情况下,您需要通过某种类型的负载平衡器或 Traffic Director 来拆分 http://api.mycompany.com:80/ 两个 IP 地址之间的流量 (在 VM1 上为 111.111.111.111,在 VM2 上为 111.111.111.222)。此函数 特定于您的安装,并由本地网络组进行配置。

基本路径是在部署 API 时设置的。在上面的示例中,您可以部署两个 API, mycompanytestmycompany(对组织) 将 mycompany-org 替换为具有主机别名为 api.mycompany.com,端口设置为 80。如果您没有声明 基本路径,则路由器不知道要发送传入请求的 API 目标。

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

许可

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

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

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

如果您还没有许可,请联系 Apigee 销售团队