适用于私有云的 Edge v. 4.17.09
哪些 Edge 版本可以更新到 4.17.09
您可以使用此过程将 Apigee Edge 版本 4.16.09.0x 更新为 4.17.09。
如果您使用的是低于 4.16.01 的 Edge 版本,则必须先迁移到 4.16.01.x 版,然后再更新到 4.17.09 版。
谁可以执行更新
运行更新的用户应与最初安装 Edge 的用户相同,或者是运行以 root 身份运行的用户。
安装 Edge RPM 后,任何用户都可以对其进行配置。
您必须更新哪些组件
您必须更新所有 Edge 组件。Edge 不支持包含多个版本的组件的设置。
必须升级到 Qpid 1.35
此版本包含对 Qpid 1.35 的必要更新。在更新 Qpid 节点的过程中,您必须执行以下操作:
- 通过屏蔽 Qpid 节点上的端口 5672,暂时阻止路由器和消息处理程序向 Qpid 节点写入数据。您可以使用以下命令在 Qpid 节点上屏蔽此端口:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 等待 Qpid 队列中没有消息,以确保 Qpid 节点在更新之前已处理完所有消息。使用以下命令确保 Qpid 消息队列为空:
> qpid-stat -q - 更新 Qpid 节点。
- 解除 Qpid 节点上的端口 5672 的屏蔽,以允许路由器和消息处理程序访问。
您可以使用以下命令取消屏蔽此端口:
> sudo iptables -F
请注意,如果您要将 iptables 用于其他规则,可以使用 -D 选项来撤消具体更改:
> sudo iptables -D INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP
下面为每个边缘拓扑详细介绍此过程。
必须启用才能启用 EPEL 代码库
您必须启用 Extra Packages for Enterprise Linux (or EPEL),才能安装或更新 Edge。您使用的命令取决于您的 RedHat/CentOS 版本:
- 对于 RedHat/CentOS/Oracle 7.x:
> wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; rpm -ivh epel-release-latest-7.noarch.rpm - 对于 RedHat/CentOS/Oracle 6.x:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm; rpm -ivh epel-release-latest-6.noarch.rpm
必须添加 SMTPMAILFROM 配置参数
Edge 4.17.05 在启用 SMTP 服务器时使用的配置文件中添加了一个新的必需参数。如果您是从 4.17.01 进行更新,则必须在启用 SMTP 服务器时在配置文件中设置 SMTPMAILFROM。
API BaaS 4.17.09 版还添加了对 SMTPMAILFROM 属性的支持。 更新 API BaaS 时,您必须在配置文件中设置 SMTPMAILFROM。
此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>"
如果使用外部身份验证进行更新,则为必需项
您可以将外部目录服务集成到现有的 Apigee Edge 私有云安装中。此功能可与支持 LDAP 的任何目录服务(例如 Active Directory、OpenLDAP 等)搭配使用。借助外部 LDAP 解决方案,系统管理员可以通过集中式目录管理服务管理用户凭据,该服务位于使用这些凭据的 Apigee Edge 等系统之外。
如需了解详情,请参阅外部身份验证配置。
启用外部身份验证后,大多数客户会使用 Active Directory SAM 账号名称字段作为身份验证的用户名,而不是 Edge OpenLDAP 服务器使用的电子邮件地址。
如果您已与外部目录服务集成,请在将 Edge 更新到 4.17.09 时将以下行添加到配置文件中:
IS_EXTERNAL_AUTH="true"
此行将 Edge 配置为支持使用账号名称(而不是电子邮件地址)作为用户名。
自动传播媒体资源设置
如果您通过修改 /opt/apigee/customer/application 中的 .properties 文件设置了任何属性,则这些值会在更新后保留。
更新前提条件
在升级 Apigee Edge 之前,请先满足以下前提条件:
- 备份所有节点
出于安全考虑,建议您在更新之前对所有节点执行完整备份。请使用适用于您当前 Edge 版本的步骤进行备份。
这样,您就可以制定备用方案,以防更新到新版本时出现问题。如需详细了解备份,请参阅备份和恢复。 - 确保 Edge 正在运行
使用以下命令确保 Edge 在更新过程中已启动并运行:
> /opt/apigee/apigee-service/bin/apigee-all status
处理失败的更新
如果更新失败,您可以尝试更正问题,然后再次运行 update.sh。您可以多次运行此更新,系统会从上次中断的位置继续更新。
如果失败导致您需要将更新回滚到之前的版本,请参阅 4.17.09 回滚流程了解详情。
日志记录更新信息
默认情况下,update.sh 实用程序会将日志信息写入以下位置:
/opt/apigee/var/log/apigee-setup/update.log
如果运行 update.sh 实用程序的用户无权访问该目录,它会将日志作为名为 update_username.log 的文件写入 /tmp 目录。
如果用户无权访问 /tmp,update.sh 实用程序将会失败。
零停机时间更新
零停机更新(也称为滚动更新)可让您在不停用 Edge 的情况下更新 Edge 安装。
只有配置为 5 个节点或更多节点时,才能实现零停机更新。
实现零停机升级的关键是从负载均衡器中逐个移除每个路由器。然后,更新与路由器位于同一计算机上的路由器和任何其他组件,然后将路由器重新添加到负载均衡器。
- 按照“机器更新顺序”部分中所述的正确顺序更新机器。
- 当需要更新路由器时,请选择任意一个路由器并使其不可访问,如启用/停用服务器(消息处理器/路由器)可访问性中所述。
- 在与路由器位于同一台机器上更新所选路由器和所有其他 Edge 组件。 所有 Edge 配置都会在同一节点上显示路由器和消息处理器。
- 使路由器再次可访问。
- 对其余路由器重复第 2 步到第 4 步。
- 为安装中的所有剩余机器继续更新。
在更新前/后,请注意以下事项:
- 在合并了路由器和消息处理器的节点上:
- 更新前 - 执行以下操作:
- 使路由器不可访问。
- 使消息处理器不可访问。
- 更新后,请执行以下操作:
- 使消息处理器可访问。
- 使路由器可访问。
- 更新前 - 执行以下操作:
- 在单个路由器节点上:
- 在更新之前,请使路由器不可访问。
- 更新后,使路由器可访问。
- 在单个消息处理器节点上:
- 在更新之前,使消息处理器不可访问。
- 更新后,使消息处理器可访问。
使用静默配置文件
您必须将静默配置文件传递给更新命令。静默配置文件应该与您用于安装 Edge 4.16.09 的配置文件相同。
在具有外部互联网连接的节点上更新到 4.17.09 的步骤
按照以下步骤更新节点上的 Edge 组件:
- 在更新完成之前,停用配置为对 Cassandra 执行修复操作的所有 CRON 作业(如果有)。
- 以 root 用户身份登录节点,以安装 Edge RPM。
注意:虽然 RPM 安装需要 root 访问权限,但您无需 root 访问权限即可执行 Edge 配置。 - 安装 yum-utils 和 yum-plugin-priorities:
> sudo yum install yum-utils
> sudo yum install yum-plugin-priorities - 按照安装 Edge apigee-setup 实用程序中的说明,停用 SELinux。
- 如上所述,启用 EPEL 代码库。
- 如果您是在 AWS 上安装,请运行以下 yum-configure-manager 命令:
> sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional - 将 Edge 4.17.09 的 bootstrap_4.17.09.sh 文件下载到 /tmp/bootstrap_4.17.09.sh:
> curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh - 安装 Edge 4.17.09 apigee-service 实用程序及其依赖项:
> sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入。
默认情况下,安装程序会检查您是否已安装 Java 1.8。如果没有,它会自动为您安装。使用 JAVA_FIX 选项指定如何处理 Java 安装。JAVA_FIX 采用以下值:
I = 安装 OpenJDK 1.8(默认)
C = 继续,不安装 Java
Q = 退出。对于此选项,您必须自行安装 Java。 - 使用 apigee-service 更新 apigee-setup 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - 更新管理服务器上的 apigee-validate 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-validate update - 更新 apigee-provision 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision update - 按照下文“计算机更新顺序”中所述的顺序,在节点上运行更新实用程序:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
配置文件的唯一要求是“apigee”用户必须能够访问或读取该配置文件。
使用“-c”选项指定要更新的组件。可能的组件列表包括:
ldap = OpenLDAP
cs = Cassandra
zk = Zookeeper
qpid = qpidd
ps = postgresql
edge =除 Edge 界面之外的所有 Edge 组件:管理服务器、消息处理器、路由器、QPID 服务器、Postgres 服务器
ui = Edge 界面
all = 更新机器上的所有组件(仅适用于 Edge aio 安装配置文件或 API BaaS asa 安装配置文件)
e = ElasticSearch
b = API BaaS 堆栈
p = API BaaS 门户
ebp = 同一节点上的 ElasticSearch、API BaaS 堆栈和 API BaaS 门户 - 在管理服务器上运行 apigee-validate 实用程序,以测试更新,如测试安装中所述。
如需日后回滚更新,请使用4.17.09 回滚过程中所述的步骤。
从本地代码库更新到 4.17.09 的步骤
如果您的 Edge 节点位于防火墙后面,或者以其他方式被禁止通过互联网访问 Apigee 代码库,则可以通过 Apigee 代码库的本地代码库或镜像执行更新。
创建本地 Edge 代码库后,您可以通过以下两种方式从本地代码库更新 Edge:
- 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后通过 .tar 文件更新 Edge。
- 在包含本地代码库的节点上安装 Web 服务器,以便其他节点可以访问该代码库。 Apigee 提供了 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。
如需从本地 4.17.09 代码库更新,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”中的说明,创建一个本地 4.17.09 代码库。
注意:如果您已有现有的 4.16.09 代码库,则可以按照安装 Edge apigee-setup 实用程序中的“更新本地 Apigee 代码库”部分所述,将 4.17.09 代码库添加到该代码库。 -
如需从 .tar 文件安装 apigee-service,请执行以下操作:
- 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz 的单个.tar 文件中:
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - 将 .tar 文件复制到您要更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
- 在新节点上,将文件解压缩到 /tmp 目录:
> tar -xzf apigee-4.17.09.tar.gz
此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。 - 从 /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
> sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
请注意,您需要在此命令中添加 repos 目录的路径。
- 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz 的单个.tar 文件中:
-
如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”部分中的说明配置 Nginx Web 服务器。
- 在远程节点上,将 Edge bootstrap_4.17.09.sh 文件下载到 /tmp/bootstrap_4.17.09.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
其中 uName:pWord 是您为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。 - 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:
> sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是代码库用户名和密码。
- 使用 apigee-service 更新 apigee-setup 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - 更新管理服务器上的 apigee-validate 实用程序。
> /opt/apigee/apigee-service/bin/apigee-service apigee-validate 更新 - 更新 apigee-provision 实用程序:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision update - 按照下文“计算机更新顺序”中所述的顺序,在节点上运行更新实用程序:
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
配置文件的唯一要求是“apigee”用户必须能够访问或读取该配置文件。
使用“-c”选项指定要更新的组件。可能的组件列表包括:
ldap = OpenLDAP
cs = Cassandra
zk = Zookeeper
qpid = qpidd
ps = postgresql
edge =除 Edge 界面之外的所有 Edge 组件:管理服务器、消息处理器、路由器、QPID 服务器、Postgres 服务器
ui = Edge 界面
all = 更新机器上的所有组件(仅适用于 Edge aio 安装配置文件或 API BaaS asa 安装配置文件)
e = ElasticSearch
b = API BaaS 堆栈
p = API BaaS 门户
ebp = 同一节点上的 ElasticSearch、API BaaS 堆栈和 API BaaS 门户 - 在管理服务器上运行 apigee-validate 实用程序,以测试更新,如测试安装中所述。
如需日后回滚更新,请使用4.17.09 回滚过程中所述的步骤。
机器更新顺序
更新 Edge 安装中的计算机的顺序非常重要。更新时最重要的注意事项包括:
- 您必须先更新 所有 Cassandra 和 ZooKeeper 节点,然后才能更新任何其他节点。
- 对于具有多个 Edge 组件(管理服务器、消息处理器、路由器、QPID 服务器,但不包括 Postgres 服务器)的任何机器,请使用“-c edge”选项同时更新所有这些组件。
- 如果某个步骤指定应在多台机器上执行,请按指定的机器顺序执行该步骤。
- 更新创收功能没有单独的步骤。当您指定“-c 边缘”选项时,它会更新。
对于 1 主机独立安装
- 如果您在 Edge 上启用了 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>" - 更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 刷新 iptables:
> sudo iptables -F - 更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 启动 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新其余 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile - 更新 Edge 界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
对于 2 主机独立安装
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>" - 在机器 1 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 2 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 2 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 2 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 2 上清空 iptables:
> sudo iptables -F - 在机器 2 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 2 上启动 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 在机器 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新机器 2 和 1 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile - 在机器 1 上更新界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
适用于包含 5 个主机的集群安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>" - 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 4 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 4 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 4 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 4 上清空 iptables:
> sudo iptables -F - 在计算机 5 上重复第 3 步到第 6 步。
- 在机器 4 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 4 上启动 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 在计算机 5 上重复第 8 步和第 9 步。
- 在机器 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 更新机器 4、5、1、2、3 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 在机器 1 上更新界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
适用于包含 9 个主机的集群安装
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>" - 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 6 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 !-s `hostname` -i eth0 -j DROP - 检查机器 6 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 6 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 6 上刷新 iptables:
> sudo iptables -F - 在计算机 7 上重复第 3 步到第 6 步。
- 更新机器 6 上的 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 6 上启动 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 在计算机 7 上重复第 8 步和第 9 步。
- 在机器 1 上更新 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 依次更新机器 6、7、8、9、1、4 和 5 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 在机器 1 上更新界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
对于 13 台主机的集群安装
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 如果您在 Edge 上启用了 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>" - 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在机器 12 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 12 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 12 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 12 上刷新 iptables:
> sudo iptables -F - 在计算机 13 上重复第 3 步到第 6 步。
- 在机器 12 上更新 postgresql:
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - 在机器 12 上启动 postgresql:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 在计算机 13 上重复第 8 步和第 9 步。
- 更新机器 4 和 5 上的 LDAP:
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 依次更新机器 12、13、8、9、6、7、10 和 11 上的 Edge 组件:
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - 更新机器 6 和 7 上的界面:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
对于 12 主机集群安装
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 如果您已在 Edge 上启用 SMTP,请在配置文件中设置 SMTPMAILFROM。此参数的格式为:
SMTPMAILFROM="My Company <myco@company.com>" - 更新 Cassandra 和 ZooKeeper:
- 在数据中心 1 中的机器 1、2 和 3 上:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - 在数据中心 2 中的机器 7、8 和 9 上
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 在数据中心 1 中的机器 1、2 和 3 上:
- 更新了 qpidd:
- 数据中心 1 中的机器 4、5
- 在机器 4 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 4 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 4 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 4 上刷新 iptables:
> sudo iptables -F - 在计算机 5 上重复第 1 步到第 4 步。
- 在机器 4 上设置以下 iptables 规则:
- 数据中心 2 中的机器 10、11
- 在机器 10 上设置以下 iptables 规则:
> sudo iptables -A INPUT -p tcp --destination-port 5672 ! -s `hostname` -i eth0 -j DROP - 检查机器 10 上的 Qpid 消息队列:
> qpid-stat -q
继续检查队列,直到“msg”列中的计数为 0。在 Qpid 处理完所有消息之前,您无法升级 Qpid。 - 在机器 10 上更新 qpidd:
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - 在机器 10 上刷新 iptables:
> sudo iptables -F - 在计算机 11 上重复第 1 步到第 4 步。
- 在机器 10 上设置以下 iptables 规则:
- 数据中心 1 中的机器 4、5
-
更新 postgresql:
-
数据中心 1 中的机器 6
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start -
数据中心 2 中的机器 12
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
-
- 更新 LDAP:
- 数据中心 1 中的机器 1
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - 数据中心 2 中的机器 7
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 数据中心 1 中的机器 1
- 更新 Edge 组件:
- 数据中心 1 中的机器 4、5、6、1、2、3
> /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile - 数据中心 2 中的机器 10、11、12、7、8、9
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 数据中心 1 中的机器 4、5、6、1、2、3
- 更新了界面:
- 数据中心 1 中的机器 1:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile - 数据中心 2 中的机器 7:
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- 数据中心 1 中的机器 1:
对于 7 主机 API BaaS 安装
:# For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST="dc-1" # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # Specify the from address of generated emails. SMTPMAILFROM="My Company <myco@company.com>"
如需查看完整的配置文件示例,请参阅 API BaaS 安装。
您还必须确保端口 2551 在所有堆栈节点上开放,以便从所有其他堆栈节点进行访问。
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 5、6 和 7 上更新 Cassandra:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile -
在机器 1、2 和 3 上更新 ElasticSearch 和 API BaaS 堆栈:
> /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile - 在机器 4 上更新 API BaaS 门户:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
对于包含 10 个主机的 API BaaS 安装
:# For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST="dc-1" # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # Specify the from address of generated emails. SMTPMAILFROM="My Company <myco@company.com>"
如需查看完整的配置文件示例,请参阅 API BaaS 安装。
您还必须确保端口 2551 在所有堆栈节点上开放,以便从所有其他堆栈节点进行访问。
如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。
- 在机器 8、9 和 10 上更新 Cassandra:
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile - 在机器 1、2 和 3 上更新 ElasticSearch:
> /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile - 在机器 4、5 和 6 上更新 API BaaS 堆栈:
> /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile - 更新机器 7 上的 API BaaS 门户:
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
对于非标准安装
如果您使用的是非标准安装,请按以下顺序更新 Edge 组件:
- ZooKeeper
- Cassandra
- qpidd、ps
- LDAP
- 边缘,表示所有节点上的“-c edge”配置文件,按以下顺序:包含 Qpid 服务器的节点、Postgres 服务器、管理服务器、消息处理器和路由器。
注意:如果节点同时安装了 Qpid 服务器和 Postgres 服务器,请运行“-c edge”配置文件步骤。 - Edge 界面