Edge for Private Cloud v. 4.17.05
在节点上安装 Edge apigee-setup 实用程序后,请使用 apigee-setup 实用程序在节点上安装一个或多个 Edge 组件。
apigee-setup 实用程序使用如下命令:
> /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
其中,component 是要安装的 Edge 组件,configFile 是包含安装信息的静默配置文件。“apigee”用户必须能够访问或读取此配置文件。例如,您可以为这些文件创建一个新目录,并将其放置在 /usr/local 或 /usr/local/share 目录中,或者放在“apigee”用户可以访问节点上的任何其他位置。
例如,如需安装边缘管理服务器,请执行以下操作:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f /usr/local/myConfig
安装注意事项
编写配置文件时,请考虑以下选项。
设置 Postgres 主备用模式
默认情况下,Edge 会在主模式下安装所有 Postgres 节点。但是,在具有多个 Postgres 节点的生产系统中,您必须将其配置为使用主备用模式,这样在主节点出现故障时,备用节点可以继续处理流量。
您可以在静默配置文件中使用属性在安装时启用和配置主备用模式复制。或者,您也可以在安装后启用主备用模式复制。如需了解详情,请参阅为 Postgres 设置主备用模式。
启用 Cassandra 身份验证
默认情况下,Cassandra 会在未启用身份验证的情况下安装。这意味着任何人都可以访问 Cassandra。您可以在安装 Edge 后或在安装过程中启用身份验证。
如需了解详情,请参阅启用 Cassandra 身份验证。
创建虚拟主机时使用受保护的端口
如果您要创建将路由器绑定到受保护的端口的虚拟主机(例如小于 1000 的端口号),则必须将路由器配置为以有权访问这些端口的用户的身份运行。默认情况下,路由器以用户“Apigee”运行,该节点无法访问特权端口。
如需了解如何配置虚拟主机和路由器以访问端口低于 1000 的端口,请参阅设置虚拟主机。
指定要安装的组件
下表列出了您传递给 apigee-service 实用程序的 -p 选项的选项,以指定要在节点上安装哪些组件:
组件 |
说明 |
---|---|
C 键 |
仅安装 Cassandra。 |
ZK | 仅安装 ZooKeeper。 |
D |
安装 ZooKeeper 和 Cassandra。 |
ld |
仅安装 OpenLDAP。 |
ms |
安装 Edge Management Server,该服务器也会安装 Edge 界面和 OpenLDAP。 如果您在配置文件中设置了 USE_LDAP_REMOTE_HOST=y,则系统会跳过 OpenLDAP 安装,并且管理服务器会使用安装在其他节点上的 OpenLDAP。 |
R |
仅安装边缘路由器。 |
百万 |
仅安装 Edge 消息处理器。 |
RMP |
安装边缘路由器和消息处理器。 |
ui |
安装 Edge 界面。 |
qs |
仅安装 Qpid 服务器。 |
ps |
仅安装 Postgres 服务器。 |
PDB | 仅安装 Postgres 数据库 - 仅在安装开发者服务门户时使用。请参阅开发者服务门户安装。 |
萨克斯 |
安装分析组件,即 Qpid 和 Postgres。 此选项仅用于开发和测试,不用于生产环境。 |
月 |
安装创收功能。 |
sa |
独立安装 Edge,这意味着 Cassandra、ZooKeeper、Management Server、OpenLDAP、Edge 界面、路由器和消息处理器。此选项省略了边缘分析组件:Qpid 和 Postgres。 此选项仅用于开发和测试,不用于生产环境。 |
智联网 |
在单个节点上安装所有组件。 此选项仅用于开发和测试,不用于生产环境。 |
dp |
安装开发者服务门户。 |
创建配置文件
配置文件包含安装 Edge 所需的所有信息。在 Edge 安装中,您通常可以使用相同的配置文件安装所有组件。
但是,在以下情况下,您必须使用不同的配置文件或修改配置文件:
- 您要安装多个 OpenLDAP 服务器,并且需要在 13 个节点安装过程中配置复制。每个文件的 LDAP_SID 和 LDAP_PEER 都需要不同的值。
- 在 12 个节点的安装过程中,您将创建多个数据中心。各个数据中心需要不同的属性(例如 ZK_CLIENT_HOSTS 和 CASS_HOSTS)设置。
下述每个安装拓扑都显示了该拓扑的示例配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
安装日志文件
默认情况下,setup.sh 实用程序会将有关安装的日志信息写入:
/opt/apigee/var/log/apigee-setup/setup.log
如果运行 setup.sh 实用程序的用户无权访问该目录,它会将日志写入名为 setup_username.log 的 /tmp 目录。
如果用户无权访问 /tmp,则 setup.sh 实用程序会失败。
安装 Edge 组件
本部分介绍如何为不同拓扑安装 Edge 组件。组件安装顺序取决于您想要的拓扑。
下面显示的所有安装示例都假设您要安装:
- 停用 Cassandra 身份验证(默认)。如需了解详情,请参阅启用 Cassandra 身份验证。
- 停用 Postgres 主实例备用复制功能(默认)。如需了解详情,请参阅为 Postgres 设置主备用复制。
- 消息处理器和路由器位于同一节点。如果您在不同节点上安装消息处理器和路由器,请先安装所有消息处理器,然后再安装所有路由器。
一体式安装
- 使用以下命令在单个节点上安装所有组件:
> /opt/apigee/apigee-setup/bin/setup.sh -p aio -f configFile - 按照测试安装中的说明测试安装。
- 按照对组织进行初始配置中所述,对您的组织进行初始配置。
下面显示了此拓扑的静默配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
# With SMTP IP1=IPorDNSnameOfNode HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 LDAP_TYPE=1 APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1" ZK_CLIENT_HOSTS="$IP1" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1" # Default is postgres PG_PWD=postgres SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>"
2 台主机独立安装
如需查看边缘拓扑和节点编号列表,请参阅安装拓扑。
- 安装独立网关和节点 1
> /opt/apigee/apigee-setup/bin/setup.sh -p sa -f configFile - 在节点 2 上安装 Google Analytics(分析):
> /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile - 按照测试安装中的说明测试安装。
- 按照对组织进行初始配置中所述,对您的组织进行初始配置。
下面显示了此拓扑的静默配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
# With SMTP IP1=IPorDNSnameOfNode1 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 LDAP_TYPE=1 APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1" ZK_CLIENT_HOSTS="$IP1" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1" # Default is postgres PG_PWD=postgres SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>"
5 主机集群安装
如需查看边缘拓扑和节点编号列表,请参阅安装拓扑。
- 在节点 1、2 和 3 上安装 Datastore 集群:
> /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile - 在节点 1 上安装管理服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - 在节点 2 和 3 上安装路由器和消息处理器:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile - 在节点 4 和 5 上安装 Google Analytics(分析):
> /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile - 按照测试安装中的说明测试安装。
- 按照对组织进行初始配置中所述,对您的组织进行初始配置。
下面显示了此拓扑的静默配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
# With SMTP IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP4=IPorDNSnameOfNode4 IP5=IPorDNSnameOfNode5 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=1 APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1 $IP2 $IP3" # Default is postgres PG_PWD=postgres PG_MASTER=$IP4 PG_STANDBY=$IP5 SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>"
9 主机集群安装
如需查看边缘拓扑和节点编号列表,请参阅安装拓扑。
- 在节点 1、2 和 3 上安装 Datastore 集群节点:
> /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile - 在节点 1 上安装 Apigee Management Server:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - 在节点 4 和 5 上安装路由器和消息处理器:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile - 在节点 6 和 7 上安装 Apigee Analytics Qpid 服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - 在节点 8 和 9 上安装 Apigee Analytics Postgres 服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile - 按照测试安装中的说明测试安装。
- 按照对组织进行初始配置中所述,对您的组织进行初始配置。
下面显示了此拓扑的静默配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
# With SMTP IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=1 APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1 $IP2 $IP3" # Default is postgres PG_PWD=postgres SKIP_SMTP=n PG_MASTER=$IP8 PG_STANDBY=$IP9 SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>"
13 个主机的集群安装
如需查看边缘拓扑和节点编号列表,请参阅安装拓扑。
- 在节点 1、2 和 3 上安装 Datastore 集群节点:
> /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile - 在节点 4 和 5 上安装 OpenLDAP:
> /opt/apigee/apigee-setup/bin/setup.sh -p ld -f configFile - 在节点 6 和 7 上安装 Apigee Management Server:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - 在节点 8 和 9 上安装 Apigee Analytics Postgres 服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile - 在节点 10 和 11 上安装路由器和消息处理器:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile - 在节点 12 和 13 上安装 Apigee Analytics Qpid 服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - 按照测试安装中的说明测试安装。
- 按照对组织进行初始配置中所述,对您的组织进行初始配置。
下面显示了此拓扑的静默配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
# For all components except OpenLDAP IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP4=IPorDNSnameOfNode4 IP5=IPorDNSnameOfNode5 IP6=IPorDNSnameOfNode6 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt # First Management Server on IP6 MSIP=$IP6 USE_LDAP_REMOTE_HOST=y LDAP_HOST=$IP4 LDAP_PORT=10389 # Second Management Server on IP7 # MSIP=$IP7 # USE_LDAP_REMOTE_HOST=y # LDAP_HOST=$IP5 # LDAP_PORT=10389 # Same password for both OpenLDAPs. APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1 $IP2 $IP3" # Default is postgres PG_PWD=postgres PG_MASTER=$IP8 PG_STANDBY=$IP9 SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
# For OpenLDAP on IP4 and IP5 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP4=IPorDNSnameOfNode4 IP5=IPorDNSnameOfNode5 IP6=IPorDNSnameOfNode6 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 # First OpenLDAP Server on IP4 MSIP=$IP6 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP5 # Second OpenLDAP Server on IP5 # MSIP=$IP7 # USE_LDAP_REMOTE_HOST=n # LDAP_TYPE=2 # LDAP_SID=2 # LDAP_PEER=$IP4 # Set same password for both OpenLDAPs. APIGEE_LDAPPW=secret |
12 个主机的集群安装
在 a12 主机的集群拓扑(两个数据中心)上安装 Edge 之前,您必须了解如何在静默配置文件中设置 ZooKeeper 和 Cassandra 属性。
- ZooKeeper
对于这两个数据中心的 ZK_HOSTS 属性,请分别按相同的顺序指定两个数据中心的所有 ZooKeeper 节点的 IP 地址或 DNS 名称,并使用“:observer”修饰符标记任何节点。没有“:observer”修饰符的节点称为“选民”。您的配置中必须有奇数个“选民”。
在此拓扑中,主机 9 上的 ZooKeeper 主机是观察器:
对于每个数据中心的 ZK_CLIENT_HOSTS 属性,只需按照相同的顺序,为数据中心中的所有 ZooKeeper 节点指定 IP 地址或 DNS 名称。在下方所示的示例配置文件中,节点 9 带有“:observer”修饰符,以确保您拥有五个选民:节点 1、2、3、7 和 8。 - Cassandra
所有数据中心都必须具有相同的 Cassandra 节点数量。
对于每个数据中心的 CASS_HOSTS,请确保为这两个数据中心指定所有 Cassandra IP 地址(而不是 DNS 名称)。对于数据中心 1,请先列出该数据中心的 Cassandra 节点。对于数据中心 2,请先列出该数据中心的 Cassandra 节点。按照相同的顺序,列出数据中心内所有 Cassandra 节点的 Cassandra 节点。
所有 Cassandra 节点的后缀都必须为“:<d>,<r>”,例如“<ip>:1,1 = 数据中心 1 与机架/可用性区域 1”,“<ip>:2,1 = 数据中心 2 和机架/可用性区域 1”。。
在此部署模型中,Cassandra 设置将如下所示:
如需查看边缘拓扑和节点编号列表,请参阅安装拓扑。
- 在节点 1、2、3、7、8 和 9 上安装 Datastore 集群节点:
> /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile - 在节点 1 和 7 上安装安装了 OpenLDAP 复制功能的 Apigee 管理服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - 在节点 2、3、8 和 9 上安装路由器和消息处理器:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile - 在节点 4、5、10 和 11 上安装 Apigee Analytics Qpid 服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - 在节点 6 和 12 上安装 Apigee Analytics Postgres 服务器:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile - 按照测试安装中的说明测试安装。
- 按照对组织进行初始配置中所述,对您的组织进行初始配置。
下面显示了此拓扑的静默配置文件。请注意此配置文件。如需配置文件的完整参考,请参阅 Edge 配置文件参考。
- 配置在两个 OpenLDAP 节点之间复制的 OpenLDAP。
- 在一个 ZooKeeper 节点上指定“:observer”修饰符。安装单个数据中心时,请忽略该修饰符。
# Datacenter 1 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP6=IPorDNSnameOfNode6 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 IP12=IPorDNSnameOfNode12 HOSTIP=$(hostname -i) MSIP=$IP1 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP7 APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway-1 REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1" # Default is postgres PG_PWD=postgres PG_MASTER=$IP6 PG_STANDBY=$IP12 SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
# Datacenter 2 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP6=IPorDNSnameOfNode6 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 IP12=IPorDNSnameOfNode12 HOSTIP=$(hostname -i) MSIP=$IP7 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=2 LDAP_PEER=$IP1 APIGEE_LDAPPW=secret BIND_ON_ALL_INTERFACES=y MP_POD=gateway-2 REGION=dc-2 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1" # Default is postgres PG_PWD=postgres PG_MASTER=$IP6 PG_STANDBY=$IP12 SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com # omit for no username SMTPPASSWORD=smtppwd # omit for no password SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |