Edge for Private Cloud v4.19.01
硬件要求
您必须满足以下最低硬件要求,才能在生产级环境中实现高可用性基础架构。
以下视频提供了有关安装的简要规模调整指南:
对于安装拓扑中所述的所有安装方案,下表列出了安装组件的最低硬件要求。
在这些表格中,硬盘要求是操作系统所需的硬盘空间之外的额外要求。根据您的应用和网络流量,您的安装可能需要比下文列出的更多或更少的资源。
| 安装组件 | RAM | CPU | 最低硬盘空间 |
|---|---|---|---|
| Cassandra | 16 GB | 8 核 | 250 GB 本地存储空间,配备支持 2000 IOPS 的 SSD |
| 消息处理器/路由器位于同一台机器上 | 16 GB | 8 核 | 100 GB |
| 消息处理器(独立) | 16 GB | 8 核 | 100 GB |
| 路由器(独立) | 16 GB | 8 核 | 100 GB |
| 分析 - 同一服务器上的 Postgres/Qpid | 16GB* | 8 核* | 500GB - 1TB** 网络存储空间***,最好采用 SSD 后端,支持 1000 IOPS 或更高* |
| 分析 - Postgres 主服务器或备用服务器(独立) | 16GB* | 8 核* | 500GB - 1TB** 网络存储空间***,最好采用 SSD 后端,支持 1000 IOPS 或更高* |
| Analytics - Qpid 独立版 | 16 GB | 8 核 | 30GB - 50GB 的本地存储空间(采用 SSD)
默认的 Qpid 队列大小为 1 GB,可以增加到 2 GB。如果您需要更多容量,请添加其他 Qpid 节点。 |
| OpenLDAP/界面/管理服务器 | 4GB | 2 核 | 60 GB |
| 界面/管理服务器 | 4GB | 2 核 | 60 GB |
| OpenLDAP(独立) | 4GB | 2 核 | 60 GB |
|
* 根据吞吐量调整 Postgres 系统要求:
** Postgres 硬盘价值基于 Edge 捕获的开箱即用型分析。 如果您向分析数据添加了自定义值,则应相应地增加这些值。您可以使用以下公式来估算所需的存储空间:
例如:
*** 建议为 PostgreSQL 数据库使用网络存储,原因如下:
|
|||
此外,如果您想安装创收服务(不支持在一体化安装中安装),则需要满足以下硬件要求:
| 包含创收功能的组件 | RAM | CPU | 硬盘 |
|---|---|---|---|
| 管理服务器(含创收服务) | 8 GB | 4 核 | 60 GB |
| 分析 - 同一服务器上的 Postgres/Qpid | 16 GB | 8 核 | 500 GB - 1 TB 网络存储空间,最好具有 SSD 后端,支持 1000 IOPS 或更高,或者使用上表中的规则。 |
| 分析 - Postgres 主服务器或备用独立服务器 | 16 GB | 8 核 | 500 GB - 1 TB 网络存储空间,最好具有 SSD 后端,支持 1000 IOPS 或更高,或者使用上表中的规则。 |
| Analytics - Qpid 独立版 | 8 GB | 4 核 | 40 GB - 500 GB 本地存储空间,配备 SSD 或快速 HDD
对于超过 250 TPS 的安装,建议使用支持 1000 IOPS 的本地存储 HDD。 |
操作系统和第三方软件要求
这些安装说明和提供的安装文件已在支持的软件和支持的版本中列出的操作系统和第三方软件上经过测试。
创建“apigee”用户
安装过程会创建一个名为“apigee”的 Unix 系统用户。Edge 目录和文件归“apigee”所有,Edge 进程也是如此。这意味着 Edge 组件以“apigee”用户身份运行。如有必要,您可以让组件以其他用户身份运行。
安装目录
默认情况下,安装程序会将所有文件写入 /opt/apigee 目录。您无法更改此目录位置。虽然您无法更改此目录,但可以创建符号链接以将 /opt/apigee 映射到其他位置,如从 /opt/apigee 创建符号链接中所述。
在本指南的说明中,安装目录标记为 /opt/apigee。
从 /opt/apigee 创建符号链接
在创建符号链接之前,您必须先创建名为“apigee”的用户和群组。这与 Edge 安装程序创建的群组和用户相同。
如需创建符号链接,请在下载 bootstrap_4.19.01.sh 文件之前执行以下步骤。 您必须以 root 身份执行所有这些步骤:
- 创建“apigee”用户和群组:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- 创建从
/opt/apigee到所需安装根目录的符号链接:ln -Ts /srv/myInstallDir /opt/apigee
其中,/srv/myInstallDir 是 Edge 文件的所需位置。
- 将安装根目录和符号链接的所有权更改为“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 实用程序。
投放网络设置
Apigee 建议您在安装之前检查网络设置。安装程序要求所有机器都具有固定的 IP 地址。使用以下命令验证设置:
hostname返回机器的名称hostname -i返回可从其他机器寻址的主机名的 IP 地址。
如果主机名未正确设置,您可能需要根据操作系统类型和版本修改 /etc/hosts 和 /etc/sysconfig/network。如需了解详情,请参阅您的特定操作系统的文档。
如果服务器有多个接口卡,“hostname -i”命令会返回一个以空格分隔的 IP 地址列表。默认情况下,Edge 安装程序会使用返回的第一个 IP 地址,但在某些情况下,该地址可能不正确。或者,您也可以在安装配置文件中设置以下属性:
ENABLE_DYNAMIC_HOSTIP=y
如果该属性设置为“y”,安装程序会提示您选择要用作安装一部分的 IP 地址。默认值为“n”。如需了解详情,请参阅边缘配置文件参考。
TCP 封装容器
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
目录访问权限
下表列出了 Edge 节点上对 Edge 进程有特殊要求的目录:
| 服务 | 目录 | 说明 |
|---|---|---|
| 路由器 | /etc/rc.d/init.d/functions |
边缘路由器使用 Nginx 路由器,并且需要对 如果您的安全流程要求您为 您可以将权限设置为 744,以允许读取 |
| ZooKeeper | /dev/random |
Zookeeper 客户端库需要对随机数生成器 /dev/random 具有读取权限。如果 /dev/random 在读取时被阻塞,则 Zookeeper 服务可能无法启动。 |
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_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
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
如需设置这些值,请执行以下操作:
- 修改 postgresql.properties 文件:
vi /opt/apigee/customer/application/postgresql.properties
如果该文件不存在,请创建它。
- 设置上述属性。
- 保存修改内容。
- 重启 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
如有必要,您可以提高该限制。例如,如果您一次打开大量临时文件。
网络安全服务 (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 查找,请执行以下操作:
- 在每个消息处理器节点上,修改
/etc/nscd.conf - 设置以下属性:
enable-cache hosts no
在 Google Cloud Platform 上为 RedHat/CentOS 7 停用 IPv6
如果您要在 Google Cloud Platform 上安装 RedHat 7 或 CentOS 7 上的 Edge,则必须在所有 Qpid 节点上停用 IPv6。
如需了解如何停用 IPv6,请参阅您所用特定操作系统版本的 RedHat 或 CentOS 文档。例如,您可以:
- 在编辑器中打开
/etc/hosts。 - 在下一行的第一列中插入“#”字符,以将其注释掉:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 保存文件。
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
Apigee 建议您确保服务器时间保持同步。如果尚未配置,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 for Private Cloud 部署和虚拟主机中也是如此。为明确起见,virtual 一词主要有以下两种用法:
- 虚拟机 (VM):不是必需的,但有些部署会使用 VM 技术为其 Apigee 组件创建隔离的服务器。与物理主机一样,虚拟机主机也可以有网络接口和防火墙。
- 虚拟主机:与 Apache 虚拟主机类似的 Web 端点。
虚拟机中的路由器可以公开多个虚拟主机(只要这些虚拟主机在主机别名或接口端口方面彼此不同)。
举个命名方面的例子,一台物理服务器 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。
在这种情况下,您需要某种负载平衡器或流量导向器,用于在两个 IP 地址(VM1 上的 111.111.111.111 和 VM2 上的 111.111.111.222)之间拆分 http://api.mycompany.com:80/ 流量。此功能特定于您的特定安装,并由您的本地网络群组配置。
基本路径是在部署 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 都需要从 Apigee 获取唯一的许可文件。安装管理服务器时,您需要提供许可文件的路径,例如 /tmp/license.txt。
安装程序会将许可文件复制到 /opt/apigee/customer/conf/license.txt。
如果许可文件有效,管理服务器会验证许可的到期日期和允许的消息处理器 (MP) 数量。如果任何许可设置已过期,您可以在以下位置找到日志:/opt/apigee/var/log/edge-management-server/logs。
在这种情况下,您可以与 Apigee Edge 支持团队联系,了解迁移详情。
如果您还没有许可,请与 Apigee 销售人员联系。