本部分介绍了如何执行以下升级:
- 从 4.18.01 到 4.19.06
- 4.18.05 至 4.19.06
谁可以执行更新
运行更新的用户应与最初安装 Edge 的用户相同,或者是运行以 root 身份运行的用户。
安装 Edge RPM 后,任何用户都可以对其进行配置。
您必须更新哪些组件
您必须更新所有 Edge 组件。Edge 不支持包含来自多个版本的组件的设置。
自动传播房源设置
如果您通过修改 /opt/apigee/customer/application
中的 .properties
文件设置了任何属性,则更新会保留这些值。
更新前提条件
在升级 Apigee Edge 之前,请先满足以下前提条件:
- 备份所有节点
出于安全考虑,建议您在更新之前对所有节点执行完整备份。使用适用于您当前 Edge 版本的步骤进行备份。这样,您就可以制定备用方案,以防更新到新版本时出现问题。如需详细了解备份,请参阅备份和恢复。
- 确保 Edge 正在运行
使用以下命令确保 Edge 在更新过程中正常运行:/opt/apigee/apigee-service/bin/apigee-all status
新版 Edge 界面
本部分列出了与新版 Edge 界面相关的注意事项。
安装 Edge 界面
完成初始安装后,Apigee 建议您安装 Edge 界面,这是面向 Apigee Edge for Private Cloud 开发者和管理员的增强型界面。
如需了解详情,请参阅安装新的 Edge 界面。
更新 Edge 界面
如果您在 4.18.0x 中安装了 Edge 界面 Beta 版(以前称为新版 Edge 体验或 UE),则必须将其卸载,然后重新安装 4.19.01 或 4.19.06 版 Edge 界面。如需了解详情,请参阅适用于私有云的新 Edge 界面。
请注意,Edge 4.18.01(但不包括 4.18.05)的安装配置发生了变化。 Edge 4.19.06 版 Edge 界面包含 Edge 4.18.01 版配置文件的更改。Edge 4.18.01 中的安装配置变更中介绍了这些新属性。
处理更新失败的情况
如果更新失败,您可以尝试解决问题,然后再次运行 update.sh。您可以多次运行此更新,系统会从上次中断的位置继续更新。
如果失败导致您需要将更新回滚到之前的版本,请参阅回滚 4.19.06 了解详情。
日志记录更新信息
默认情况下,update.sh
实用程序会将日志信息写入以下位置:
/opt/apigee/var/log/apigee-setup/update.log
如果运行 update.sh
实用程序的用户无权访问该目录,则该实用程序会将日志写入 /tmp
目录,并命名为 update_username.log
文件。
如果用户无权访问 /tmp
,update.sh
实用程序将会失败。
零停机时间更新
零停机更新(也称为滚动更新)可让您在不停用 Edge 的情况下更新 Edge 安装。
只有配置为 5 个节点或更多节点时,才能实现零停机更新。
实现零停机升级的关键是从负载平衡器中逐个移除每个路由器。然后,更新与路由器位于同一计算机上的路由器和任何其他组件,然后将路由器重新添加到负载平衡器。
- 按照机器更新顺序中的说明,按正确的顺序更新机器。
- 当需要更新路由器时,请选择任意一个路由器并使其不可访问,如启用/停用服务器(消息处理器/路由器)可访问性中所述。
- 在与路由器位于同一台机器上更新所选路由器和所有其他 Edge 组件。 所有 Edge 配置都会在同一节点上显示路由器和消息处理器。
- 让路由器再次可访问。
- 对其余路由器重复第 2 步到第 4 步。
- 继续为安装中的所有剩余计算机更新。
在更新前/后,请注意以下事项:
- 在路由器和消息处理器组合节点上:
- 更新前 - 执行以下操作:
- 使路由器不可访问。
- 使消息处理器不可访问。
- 更新后 - 执行以下操作:
- 使消息处理器可访问。
- 使路由器可访问。
- 更新前 - 执行以下操作:
- 在单个路由器节点上:
- 在更新之前,请使路由器不可访问。
- 更新后,使路由器可访问。
- 在单个消息处理器节点上:
- 在更新之前,使消息处理器不可访问。
- 更新后,使消息处理器可访问。
使用静默配置文件
您必须将静默配置文件传递给更新命令。静默配置文件应与您用于安装 Edge 4.18.0x 的配置文件相同。
在具有外部互联网连接的节点上更新到 4.19.06
请按照以下步骤更新节点上的 Edge 组件:
- 在更新完成之前,停用配置为对 Cassandra 执行修复操作的所有 CRON 作业(如果有)。
- 以 root 用户身份登录节点以安装 Edge RPM。
- 安装
yum-utils
和yum-plugin-priorities
:sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- 停用 SELinux,如安装 Edge apigee-setup 实用程序中所述。
- 如果您是在 Oracle 7.x 上安装,请运行以下命令:
sudo yum-config-manager --enable ol7_optional_latest
- 如果您是在 AWS 上安装,请运行以下
yum-configure-manager
命令:yum update rh-amazon-rhui-client.noarch
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
- 将 Edge 4.19.06
bootstrap_4.19.06.sh
文件下载到/tmp/bootstrap_4.19.06.sh
:curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
- 安装 Edge 4.19.06
apigee-service
实用程序和依赖项:sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord
其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入 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
- 按照计算机更新顺序中所述的顺序,在节点上运行
update
实用程序:/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
其中,component 是要更新的 Edge 组件。可能的值包括:
- “cs”:Cassandra
- “edge”:除 Edge 界面之外的所有 Edge 组件:管理服务器、消息处理器、路由器、QPID 服务器、Postgres 服务器
- “ldap”:OpenLDAP
- "ps": postgresql
- “qpid”:qpidd
- “sso”:Apigee SSO(如果您已安装 SSO)
- “ui”:Edge 界面
- “zk”:ZooKeeper
configFile 是您在 4.18.0x 安装过程中用于定义 Edge 组件的配置文件。
您可以将 component 设置为“all”,以针对所有组件运行
update.sh
,但前提是您拥有 Edge 多合一 (aio) 安装配置文件。例如:/opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
- 在运行 Edge 界面组件的所有节点上重启该组件(如果尚未重启):
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 在管理服务器上运行
apigee-validate
实用程序,以测试更新(如测试安装中所述)。
如果您日后决定回滚更新,请使用回滚 4.19.06 中所述的步骤。
从本地代码库更新到 4.19.06
如果您的 Edge 节点位于防火墙后面,或者以其他方式被禁止通过互联网访问 Apigee 代码库,则可以通过 Apigee 代码库的本地代码库或镜像执行更新。
创建本地 Edge 代码库后,您可以通过以下两种方式从本地代码库更新 Edge:
- 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后通过 .tar 文件更新 Edge。
- 在包含本地代码库的节点上安装 Web 服务器,以便其他节点可以访问该代码库。 Apigee 提供了 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。
如需从本地 4.19.06 代码库更新,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”部分中的说明创建本地 4.19.06 代码库。
- 如需从 .tar 文件安装 apigee-service,请执行以下操作:
- 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为
/opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz
的单个 .tar 文件中:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- 将 .tar 文件复制到您要更新 Edge 的节点。例如,将其复制到新节点上的
/tmp
目录。 - 在新节点上,将文件解压缩到
/tmp
目录:tar -xzf apigee-4.19.06.tar.gz
此命令会在包含 .tar 文件的目录中创建一个名为
repos
的新目录。例如/tmp/repos
。 - 从
/tmp/repos
安装 Edgeapigee-service
实用程序和依赖项:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
请注意,您需要在此命令中添加代码库目录的路径。
- 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为
- 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”部分中的说明配置 Nginx Web 服务器。
- 在远程节点上,将 Edge
bootstrap_4.19.06.sh
文件下载到/tmp/bootstrap_4.19.06.sh
:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
其中 uName:pWord 是您之前为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。
- 在远程节点上,安装 Edge
apigee-setup
实用程序和依赖项:sudo bash /tmp/bootstrap_4.19.06.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 update
- 更新管理服务器上的
apigee-provision
实用程序,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- 按照计算机更新顺序中所述的顺序,在节点上运行
update
实用程序:/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
其中:
- component 是要更新的 Edge 组件。您通常需要更新以下组件:
- “cs”:Cassandra
- “edge”:Edge 界面除外,所有 Edge 组件。“边缘”组件包括管理服务器、消息处理器、路由器、QPID 服务器和边缘 Postgres 服务器。
- “ldap”:OpenLDAP
- "ps": postgresql
- “qpid”:qpidd
- “sso”:Apigee SSO(如果您已安装 SSO)
- “ui”:Edge 界面
- “zk”:ZooKeeper
- configFile 是您在 4.18.0x 安装期间用于定义 Edge 组件的配置文件。
您可以通过将 component 设置为“all”来针对所有组件运行
update.sh
,但前提是您拥有 Edge 多合一 (AIO) 安装配置文件。例如:/opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
- component 是要更新的 Edge 组件。您通常需要更新以下组件:
- 在运行 Edge 界面组件的所有节点上重启该组件(如果尚未重启):
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 在管理服务器上运行
apigee-validate
实用程序,以测试更新(如测试安装中所述)。
如果您日后决定回滚更新,请使用回滚 4.19.06 中所述的步骤。
机器更新顺序
更新 Edge 安装中的计算机的顺序非常重要:
- 您必须先更新 所有 Cassandra 和 ZooKeeper 节点,然后才能更新任何其他节点。
- 对于具有多个 Edge 组件(管理服务器、消息处理器、路由器、QPID 服务器,但不包括 Postgres 服务器)的任何机器,请使用
-c edge
选项同时更新它们。 - 如果某个步骤指定应在多台机器上执行,请按指定的机器顺序执行该步骤。
- 无需单独执行任何步骤即可更新创收设置。当您指定
-c edge
选项时,该值会更新。
1 个节点的独立升级
如需将 1 个节点的独立配置升级到 4.19.06,请执行以下操作:
- 更新所有组件:
/opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
- (如果您安装了
apigee-adminapi
) 更新了apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
2 个节点的独立升级
对于 2 节点的独立安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1 上更新 Cassandra 和 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 在机器 2 上更新 Qpid 和 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
- 更新机器 1 上的 LDAP:
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- 更新机器 2 和 1 上的 Edge 组件:
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
- 更新机器 1 上的界面:
/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- (如果您安装了
apigee-adminapi
) 更新了机器 1 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在机器 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 在机器 1 上重启 Edge 界面组件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
5 个节点升级
对于 5 节点安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 更新机器 4 上的 Qpid 和 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
- 在机器 5 上更新 Qpid 和 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
- 更新机器 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
- (如果您安装了
apigee-adminapi
) 更新了机器 1 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在机器 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 在机器 1 上重启 Edge 界面组件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
9 节点集群升级
针对 9 节点集群安装更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 更新机器 6 和 7 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 8 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 9 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 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
- (如果您安装了
apigee-adminapi
) 更新了机器 1 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在机器 1 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 在机器 1 上重启 Edge 界面组件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
13 节点集群升级
对于 13 节点的集群安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- 更新了机器 12 和 13 上的 Qpid:
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 8 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 9 上的 Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 更新机器 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
- (如果您安装了
apigee-adminapi
) 更新了机器 6 和 7 上的apigee-adminapi
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- (如果您安装了 Apigee SSO)在计算机 6 和 7 上更新 Apigee SSO:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 在机器 6 和 7 上重启 Edge 界面组件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
12 节点集群升级
对于 12 节点集群安装,请更新以下组件:
如需查看 Edge 拓扑和节点编号列表,请参阅安装拓扑。
- 更新 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 上的
qpidd
:/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 5 上的
qpidd
:/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 4 上的
- 数据中心 2 中的机器 10、11
- 更新机器 10 上的
qpidd
:/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 在机器 11 上更新
qpidd
:/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- 更新机器 10 上的
- 数据中心 1 中的机器 4、5
- 更新 Postgres:
- 数据中心 1 中的机器 6
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 数据中心 2 中的机器 12
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- 数据中心 1 中的机器 6
- 更新 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 -c edge -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 和 7 上重启 Edge 界面组件:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 数据中心 1 中的机器 1:
- (如果您安装了
apigee-adminapi
) 更新了apigee-adminapi
实用程序:- 数据中心 1 中的机器 1:
/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- 数据中心 2 中的机器 7:
/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- 数据中心 1 中的机器 1:
- (如果您安装了 Apigee SSO)更新 Apigee SSO:
- 数据中心 1 中的机器 1:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
- 数据中心 2 中的机器 7:
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
其中 sso_config_file 是您在安装 SSO 时创建的配置文件。
- 数据中心 1 中的机器 1:
对于非标准配置
如果您使用的是非标准配置,请按以下顺序更新 Edge 组件:
- ZooKeeper
- Cassandra
- qpidd、ps
- LDAP
- Edge,表示所有节点上的“-c edge”配置文件,按以下顺序:具有 Qpid 服务器的节点、Edge Postgres 服务器、管理服务器、消息处理器和路由器。
- Edge 界面
apigee-adminapi
- Apigee SSO
更新完成后,请务必在运行 Edge 的所有计算机上重启 Edge 界面组件。