本部分介绍如何执行以下升级:
- 1 月 4 日至 6 月 4 日 19 日
- 从 5 月 4 日 18 日到 6 月 4 日 19 日
谁可以执行更新
运行更新的用户应与最初安装 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 的开发者和管理员提供的增强界面。
如需了解详情,请参阅安装新版 Edge 界面。
更新 Edge 界面
如果您在 4.18.0x 中安装了 Beta 版 Edge 界面(以前称为 New 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 了解详情。
Logging 更新信息
默认情况下,update.sh
实用程序会将日志信息写入:
/opt/apigee/var/log/apigee-setup/update.log
如果运行 update.sh
实用程序的用户无权访问该目录,则会将日志作为名为 update_username.log
的文件写入 /tmp
目录。
如果用户无权访问 /tmp
,则 update.sh
实用程序会失败。
零停机时间更新
借助零停机更新或滚动更新,您无需关闭 Edge 即可更新 Edge 安装。
只有具有 5 个节点及更大的节点配置才能实现零停机更新。
零停机升级的关键是从负载平衡器中一次移除一个路由器。然后,在与路由器相同的机器上更新路由器和任何其他组件,再将路由器重新添加到负载平衡器。
- 按照机器更新的顺序中的说明,按照正确的安装顺序更新机器。
- 在更新路由器时,选择任意一个路由器并使其无法访问,如启用/停用服务器(消息处理器/路由器)可达性中所述。
- 在与路由器相同的机器上,更新所选路由器和所有其他 Edge 组件。 所有边缘配置都在同一节点上显示路由器和消息处理器。
- 使该路由器可再次连接。
- 对其余路由器重复步骤 2 到 4。
- 继续更新安装中的所有其余计算机。
更新前后请注意以下事项:
- 在合并的路由器和消息处理器节点上:
- 更新前,请执行以下操作:
- 使路由器无法访问。
- 使消息处理器无法访问。
- 更新后,请执行以下操作:
- 使消息处理器可访问。
- 使路由器可访问。
- 更新前,请执行以下操作:
- 在单个路由器节点上:
- 更新前,请先确保该路由器无法访问。
- 更新后,使路由器可访问。
- 在单个消息处理器节点上:
- 更新前,请将消息处理器设为无法访问。
- 更新后,使消息处理器可访问。
使用静默配置文件
您必须将静默配置文件传递给 update 命令。静默配置文件应该与您安装 Edge 4.18.0x 时所用的配置文件相同。
在具有外部互联网连接的节点上更新到 4.19.06
请按以下步骤更新节点上的 Edge 组件:
- 如果存在配置为在 Cassandra 上执行修复操作的 CRON 作业,则停用该作业,直到更新完成为止。
- 以根用户身份登录您的节点以安装 Edge RPM。
- 安装
yum-utils
和yum-plugin-priorities
:sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
- 如果您是在 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,系统会提示您输入。
默认情况下,安装程序会检查是否安装了 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”:所有边缘组件(边缘界面除外):管理服务器、消息处理器、路由器、QPID 服务器、Postgres Server
- “ldap”:OpenLDAP
- "ps":postgresql
- "qpid": qpidd
- “sso”:Apigee SSO(如果您安装了 SSO)
- "ui":边缘界面
- “zk”:Zookeeper
configFile 与您在 4.18.0x 安装期间用于定义 Edge 组件的配置文件相同。
您可以对所有组件运行
update.sh
,只需将 component 设置为“all”,但前提是您拥有 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
请注意,此命令中包含 repos 目录的路径。
- 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为
- 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
- 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx 网络服务器从代码库安装”中的说明配置 Nginx 网络服务器。
- 在远程节点上,将 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 界面除外)。“edge”组件包括管理服务器、消息处理器、路由器、QPID 服务器和 Edge Postgres 服务器。
- “ldap”:OpenLDAP
- "ps":postgresql
- "qpid": qpidd
- “sso”:Apigee SSO(如果您安装了 SSO)
- "ui":边缘界面
- “zk”:Zookeeper
- configFile 是在 4.18.0x 安装期间用于定义 Edge 组件的配置文件。
您可以对所有组件运行
update.sh
,只需将 component 设置为“all”,但前提是您拥有 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 节点,然后才能更新任何其他节点。
- 对于具有多个边缘组件(管理服务器、消息处理器、路由器、QPID 服务器,但不是 Postgres Server)的任何机器,请使用
-c edge
选项同时更新所有这些组件。 - 如果某个步骤指定应在多台机器上执行此步骤,请按照指定的机器顺序执行。
- 要更新创收功能,您无需执行单独的步骤。当您指定
-c edge
选项时,它会更新。
单节点独立升级
如需将单节点独立配置升级到 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
双节点独立升级
针对双节点独立安装更新以下组件:
如需查看边缘拓扑和节点数列表,请参阅安装拓扑。
- 在机器 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 节点安装更新以下组件:
如需查看边缘拓扑和节点数列表,请参阅安装拓扑。
- 在机器 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 节点集群安装更新以下组件:
如需查看边缘拓扑和节点数列表,请参阅安装拓扑。
- 在机器 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 节点集群安装更新以下组件:
如需查看边缘拓扑和节点数列表,请参阅安装拓扑。
- 在机器 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 节点集群安装更新以下组件:
如需查看边缘拓扑和节点数列表,请参阅安装拓扑。
- 更新 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
- 边缘,表示所有节点上按以下顺序运行的“-c 边缘”配置文件:具有 Qpid 服务器、Edge Postgres 服务器、管理服务器、消息处理器和路由器的节点。
- Edge 界面
apigee-adminapi
- Apigee 单点登录
完成更新后,请务必在所有运行 Edge 界面组件的计算机上重启该组件。