将 Apigee Edge 4.17.09 更新为 4.19.01

Edge for Private Cloud v4.19.01

本部分介绍了如何执行以下升级:

  • 从 4.17.09 到 4.19.01

谁可以执行更新

运行更新的用户应与最初安装 Edge 的用户相同,或以根用户身份运行。

安装 Edge RPM 后,任何用户都可以对其进行配置。

您必须更新哪些组件

您必须更新所有 Edge 组件。Edge 不支持包含多个版本组件的设置。

保持兼容性

将 Apigee Edge for Private Cloud 升级到 4.19.01 时,您必须确保生成的实现仅在其配置文件中引用受支持的属性。

属性 位置 说明
conf_load_balancing_load.balancing.
  driver.nginx.server.retry
router.properties 从 router.properties 文件中移除此属性。如需在 4.19.01 中设置重试选项,请使用虚拟主机配置属性。

自动传播媒体资源设置

如果您通过修改 /opt/apigee/customer/application 中的 .properties 文件设置了任何属性,则更新会保留这些值。

必须升级到 Postgres 9.6

此 Edge 版本包含对 Postgres 9.6 的升级。作为该升级的一部分,所有 Postgres 数据都会迁移到 Postgres 9.6。

大多数 Edge 生产系统都使用两个配置为“主备”复制的 Postgres 节点。在更新过程中,当 Postgres 节点因更新而停机时,分析数据仍会写入 Qpid 节点。Postgres 节点更新并重新上线后,分析数据便会推送到 Postgres 节点。

执行 Postgres 更新的方式取决于您为 Postgres 节点配置数据存储区的方式:

  • 如果您为 Postgres 节点使用本地数据存储区,则必须在升级期间安装新的 Postgres 备用节点。升级完成后,您可以停用新的 Postgres 备用节点。

    如果您因任何原因必须回滚更新,则需要额外的 Postgres 备用节点。如果您必须回滚更新,则新的 Postgres 备用节点会在回滚后成为主 Postgres 节点。因此,在安装新的 Postgres 备用节点时,该节点应满足 Edge 安装要求中定义的 Postgres 服务器的所有硬件要求。

    在 Edge 的 1 节点和 2 节点配置(用于原型设计和测试的拓扑)中,您只有一个 Postgres 节点。您可以直接更新这些 Postgres 节点,而无需创建新的 Postgres 节点。

  • 如果您按照 Apigee 的建议为 Postgres 节点使用网络存储,则无需安装新的 Postgres 节点。在以下过程中,您可以跳过指定安装和稍后退役新 Postgres 备用节点的步骤。

    在开始更新流程之前,请为 Postgres 使用的数据存储区创建网络快照。然后,如果在更新期间发生任何错误,并且您被迫执行回滚,则可以从该快照恢复 Postgres 节点。

安装新的 Postgres 备用节点

此过程会在新节点上创建 Postgres 备用服务器。确保为现有 Edge 版本 (4.17.09) 安装新的 Postgres 备用服务器,而不是为 4.19.01 版本安装。

如需执行安装,请使用安装当前 Edge 版本时所用的配置文件。

如需创建新的 Postgres 备用节点,请执行以下操作:

  1. 在当前的 Postgres 主实例上,修改 /opt/apigee/customer/application/postgresql.properties 文件以设置以下令牌。如果该文件不存在,请创建它:
    conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust\ \nhost replication apigee new_standby_ip/32 trust

    其中,existing_standby_ip 是当前 Postgres 备用服务器的 IP 地址,new_standby_ip 是新备用节点的 IP 地址。

  2. 在 Postgres 主节点上重启 apigee-postgresql:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
  3. 通过查看主节点上的 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 文件,验证是否已添加新的备用节点。您应该会在该文件中看到以下几行代码:
    host replication apigee existing_standby_ip/32 trust
    host replication apigee new_standby_ip/32 trust
  4. 安装新的 Postgres 备用服务器:
    1. 修改用于安装当前 Edge 版本的配置文件,以指定以下内容:
      # IP address of the current master:
      PG_MASTER=192.168.56.103
      # IP address of the new standby node
      PG_STANDBY=192.168.56.102
    2. 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
    3. 将 Edge 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
    4. 安装 Edge apigee-service 实用程序和依赖项:
      sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord
    5. 使用 apigee-service 安装 apigee-setup 实用程序:
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    6. 安装 Postgres:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    7. 在新的备用节点上,运行以下命令:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      验证其是否显示为备用。

停用 Postgres 节点

更新完成后,停用新的备用节点:

  1. 确保 Postgres 正在运行:
    /opt/apigee/apigee-service/bin/apigee-all status

    如果 Postgres 未运行,请启动它:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. 通过在新备用节点上运行以下 curl 命令,获取新备用节点的 UUID:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    您应该会在输出末尾看到节点的 UUID,格式如下:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  3. 在新的备用节点上运行以下命令,停止新的备用节点:
    /opt/apigee/apigee-service/bin/apigee-all stop
  4. 在 Postgres 主节点上,修改 /opt/apigee/customer/application/postgresql.properties 以从 conf_pg_hba_replication.connection 中移除新的备用节点:
    conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust
  5. 在 Postgres 主节点上重启 apigee-postgresql:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
  6. 通过查看主节点上的 /opt/apigee/apigee-postgresql/conf/pg_hba.conf 文件,验证新的备用节点是否已移除。您应该只会在该文件中看到以下行:
    host replication apigee existing_standby_ip/32 trust
  7. 通过在管理服务器节点上发出以下 Edge 管理 API 调用,从 ZooKeeper 中删除备用节点的 UUID:
    curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/new_standby_uuid

更新前提条件

在升级 Apigee Edge 之前,请先满足以下前提条件:

  • 备份所有节点
    在更新之前,出于安全原因,建议您对所有节点执行完整备份。使用当前版本的 Edge 的过程来执行备份。

    这样,您就可以制定备用方案,以防新版本更新无法正常运行。如需详细了解备份,请参阅备份和恢复。

  • 确保 Edge 正在运行
    使用以下命令确保 Edge 在更新过程中正常运行:
    /opt/apigee/apigee-service/bin/apigee-all status

处理失败的更新

如果更新失败,您可以尝试更正问题,然后再次运行 update.sh。您可以多次运行更新,它会从上次中断的位置继续更新。

如果失败需要您将更新回滚到先前版本,请参阅回滚 4.19.01 了解详情。

日志记录更新信息

默认情况下,update.sh 实用程序会将日志信息写入:

/opt/apigee/var/log/apigee-setup/update.log

如果运行 update.sh 实用程序的用户无权访问该目录,则会将日志作为名为 update_username.log 的文件写入 /tmp 目录。

如果用户无权访问 /tmp,则 update.sh 实用程序会失败。

零停机时间更新

零停机时间更新或滚动更新可让您在不关闭 Edge 的情况下更新 Edge 配置。

只有 5 节点及更大规模的配置才能实现零停机时间更新。

实现零停机时间升级的关键在于,一次从负载均衡器中移除一个路由器。然后,您需要更新路由器以及与路由器位于同一台机器上的任何其他组件,再将路由器重新添加到负载均衡器。

  1. 按照机器更新顺序中的说明,以正确的顺序更新配置中的机器。
  2. 需要更新路由器时,请选择任意一个路由器并使其无法访问,如启用/停用服务器(消息处理器/路由器)可达性中所述。
  3. 更新所选路由器以及与该路由器位于同一机器上的所有其他 Edge 组件。 所有 Edge 配置都会在同一节点上显示路由器和消息处理器。
  4. 使路由器再次可访问。
  5. 对剩余的路由器重复第 2 步到第 4 步。
  6. 继续更新配置中的所有剩余机器。

在更新之前/之后,请注意以下事项:

  • 在组合的路由器和消息处理器节点上:
    • 更新前 - 执行以下操作:
      1. 使路由器无法访问。
      2. 使消息处理器无法访问。
    • 更新后 - 执行以下操作:
      1. 使消息处理器可访问。
      2. 确保路由器可访问。
  • 在单个路由器节点上:
    • 在更新之前,请使路由器无法访问。
    • 更新后,使路由器可访问。
  • 在单个消息处理器节点上:
    • 在更新之前,请使消息处理器无法访问。
    • 更新后,使消息处理器可访问。

使用静默配置文件

您必须向更新命令传递静默配置文件。静默配置文件应与您用于安装 Edge 4.17.09 的文件相同。

在具有外部互联网连接的节点上更新到 4.19.01

请按照以下步骤更新节点上的 Edge 组件:

  1. 如果您目前使用的是具有本地存储空间的 Postgres 主备复制,请按照安装新的 Postgres 备用节点中所述安装新的 Postgres 备用节点。

    如果您使用的是网络存储,则无需安装新节点。而是对 Postgres 使用的数据存储区进行网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6。

  2. 如果存在,请停用配置为在 Cassandra 上执行修复操作的所有 CRON 作业,直到更新完成。
  3. 以 root 身份登录节点,以安装 Edge RPM。
  4. 安装 yum-utils 和 yum-plugin-priorities:
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  5. 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
  6. 如果您要在 Oracle 7.x 上安装,请运行以下命令:
    sudo yum-config-manager --enable ol7_optional_latest
  7. 如果您要在 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
  8. 将 Edge 4.19.01 bootstrap_4.19.01.sh 文件下载到 /tmp/bootstrap_4.19.01.sh:
    curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
  9. 安装 Edge 4.19.01 apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.19.01.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。
  10. 使用 apigee-service 更新 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. 更新管理服务器上的 apigee-validate 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  12. 更新 apigee-provision 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  13. 按照机器更新顺序中所述的顺序在节点上运行更新实用程序:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    对配置文件的唯一要求是,配置文件必须可供“apigee”用户访问或读取。

    使用 -c 选项指定要更新的组件。可能组件的列表包括:

    • "cs" = Cassandra
    • “edge”= 除 Edge 界面之外的所有 Edge 组件。“边缘”组件包括管理服务器、消息处理器、路由器、QPID 服务器、Edge Postgres 服务器。
    • "ldap" = OpenLDAP
    • "ps" = postgresql
    • "qpid" = qpidd
    • “sso”= Edge SSO
    • “ui”= Edge 界面
    • "zk" = Zookeeper

    您可以将 component 设置为“all”,从而针对所有组件运行 update.sh,但前提是您具有 Edge 一体化 (AIO) 配置配置文件。例如:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
  14. 在运行 Edge 界面组件的所有机器上重启该组件(如果您尚未这样做):
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  15. 如测试安装中所述,通过在管理服务器上运行 apigee-validate 实用程序来测试更新。
  16. 如果您安装了新的 Postgres 备用节点,请按照停用 Postgres 节点中所述停用该节点。

    如果您使用的是网络存储,则无需安装新节点。如需了解详情,请参阅必须升级到 Postgres 9.6。

如需稍后回滚更新,请使用回滚 4.19.01 中所述的过程。

从本地代码库更新到 4.19.01

如果您的 Edge 节点位于防火墙后面,或者以其他方式禁止通过互联网访问 Apigee 代码库,则您可以从 Apigee 代码库的本地代码库或镜像执行更新。

创建本地 Edge 代码库后,您可以通过以下两种方式从本地代码库更新 Edge:

  • 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后通过 .tar 文件更新 Edge。
  • 在具有本地代码库的节点上安装网络服务器,以便其他节点可以访问该代码库。 Apigee 提供了 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。

如需从本地 4.19.01 代码库进行更新,请执行以下操作:

  1. 如果您目前使用的是 Postgres 主备复制,请按照安装新的 Postgres 备用节点中的说明安装新的 Postgres 备用节点。

    如果您使用的是网络存储,则无需安装新节点。而是对 Postgres 使用的数据存储区进行网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6。

  2. 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”中所述,创建本地 4.19.01 代码库。
  3. 如需从 .tar 文件安装 apigee-service,请执行以下操作:
    1. 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz 的单个 .tar 文件中:
      /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
    2. 将 .tar 文件复制到要更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
    3. 在新节点上,将文件解压缩到 /tmp 目录:
      tar -xzf apigee-4.19.01tar.gz

      此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。

    4. 从 /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
      sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

      请注意,您在此命令中添加了代码库目录的路径。

  4. 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
    1. 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”中的说明配置 Nginx Web 服务器。
    2. 在远程节点上,将 Edge bootstrap_4.19.01.sh 文件下载到 /tmp/bootstrap_4.19.01.sh:
      /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh

      其中,uName:pWord 是您之前为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。

    3. 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:
      sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

      其中 uName:pWord 是代码库用户名和密码。

  5. 使用 apigee-service 更新 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update 
  6. 更新管理服务器上的 apigee-validate 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  7. 更新 apigee-provision 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  8. 按照机器更新顺序中所述的顺序在节点上运行 update 实用程序:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    对配置文件的唯一要求是,“apigee”用户必须能够访问或读取配置文件。

    使用 -c 选项指定要更新的组件。可能的组件列表包括:

    • "cs" = Cassandra
    • “edge”= 除 Edge 界面之外的所有 Edge 组件。“边缘”组件包括管理服务器、消息处理器、路由器、QPID 服务器、Edge Postgres 服务器。
    • "ldap" = OpenLDAP
    • "ps" = postgresql
    • "qpid" = qpidd
    • “sso”= Edge SSO
    • “ui”= Edge 界面
    • "zk" = Zookeeper

    您可以将 component 设置为“all”,从而针对所有组件运行 update.sh,但前提是您具有 Edge 一体化 (AIO) 配置配置文件。例如:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
  9. 在运行 Edge 界面组件的所有机器上重启该组件(如果您尚未这样做):
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
  10. 如测试安装中所述,通过在管理服务器上运行 apigee-validate 实用程序来测试更新。
  11. 如果您安装了新的 Postgres 备用节点,请按照停用 Postgres 节点中所述停用该节点。

    如果您使用的是网络存储,则无需安装新节点。如需了解详情,请参阅必须升级到 Postgres 9.6。

如需稍后回滚更新,请使用回滚 4.19.01 中所述的过程。

机器更新顺序

在 Edge 配置中更新机器的顺序非常重要。更新时最重要的考虑因素包括:

  • 您必须先更新所有 Cassandra 和 ZooKeeper 节点,然后才能更新任何其他节点。
  • 对于具有多个 Edge 组件(管理服务器、消息处理器、路由器、QPID 服务器,但不包括 Postgres 服务器)的任何机器,请使用“-c edge”选项同时更新所有这些组件。
  • 如果某个步骤指定应在多台机器上执行,请按照指定的机器顺序执行。
  • 没有单独的步骤来更新创收。当您指定“-c edge”选项时,它会更新。

1 节点独立升级

  1. 更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 停止 Postgres 服务器、Qpid 服务器和 PostgreSQL:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. 更新 postgresql:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  6. 更新其余 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  7. 更新 Edge 界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  8. (如果您安装了 apigee-adminapi)更新了 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (如果您安装了 Edge SSO)更新 Edge SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  10. 重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

2 节点独立升级

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 在机器 1 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在机器 2 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 在机器 1 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新机器 1 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 更新机器 1 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  6. (如果您安装了 apigee-adminapi)更新了机器 1 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  7. (如果您安装了 Edge SSO)在机器 1 上更新 Edge SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  8. 更新机器 2 上的 postgresql:
    1. 停止 Postgres 服务器、Qpid 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    2. 更新 postgresql:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    3. 更新机器 2 上的 Edge 组件:
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  9. 在机器 1 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

5 节点升级

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储,则无需安装新节点。而是对 Postgres 使用的数据存储区进行网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6。

  2. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  3. 在机器 4 和 5 上更新 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  4. 在机器 1 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新机器 1、2、3 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新机器 1 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (如果您安装了 apigee-adminapi)更新了机器 1 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安装了 Edge SSO)在机器 1 上更新 Edge SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  9. 更新机器 4 和 5:
    1. 在机器 4 上停止 Postgres 服务器和 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    2. 在机器 5 上停止 Postgres 服务器、Qpid 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 如果已安装,请在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    4. 更新机器 4 上的 PostgreSQL:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    5. 更新机器 5 上的 PostgreSQL:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    6. 在机器 4 和 5 上启动 Postgres 服务器和 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    7. 在机器 5 上运行以下命令,将 Postgres 配置为备用节点:
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    8. 在两台服务器上运行以下脚本,验证复制状态。系统应在两个服务器上显示相同的结果,以确保复制成功:
      • 在机器 4(主节点)上,运行以下命令:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

        验证它是否显示为主实例。

      • 在机器 5(备用节点)上:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        验证其是否显示为备用。

  10. 更新机器 4、5 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  11. 确保按照停用 Postgres 节点中的说明停用新的备用节点。

    如果您使用的是网络存储,则无需安装新节点。如需了解详情,请参阅必须升级到 Postgres 9.6。

  12. 在机器 1 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

9 节点集群升级

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储,则无需安装新节点。而是对 Postgres 使用的数据存储区进行网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6。

  2. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  3. 更新机器 6 和 7 上的 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  4. 在机器 1 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 按以下顺序更新机器 6、7、1、4 和 5 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新机器 1 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (如果您安装了 apigee-adminapi)更新了机器 1 上的 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安装了 Edge SSO)在机器 1 上更新 Edge SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  9. 更新机器 8 和 9:
    1. 停止机器 8 上的 Postgres 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. 在机器 9 上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 在机器 6 和 7 上停止 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    4. 如果已安装,请在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    5. 在机器 8 上更新 PostgreSQL:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    6. 更新机器 9 上的 PostgreSQL:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    7. 在机器 8 和 9 上启动 Postgres 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
    8. 在机器 6 和 7 上启动 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    9. 在机器 9 上运行以下命令,将 Postgres 配置为备用节点:
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    10. 在两台服务器上运行以下脚本,验证复制状态。系统应在两个服务器上显示相同的结果,以确保复制成功:
      • 在机器 8(主节点)上,运行以下命令:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

        验证它是否显示为主实例。

      • 在机器 9(备用节点)上:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        验证其是否显示为备用。

  10. 更新机器 8 和 9 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  11. 确保按照退役 Postgres 节点中的说明退役新的备用节点。

    如果您使用的是网络存储,则无需安装新节点。如需了解详情,请参阅必须升级到 Postgres 9.6。

  12. 在机器 1 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

13 节点集群升级

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储,则无需安装新节点。而是对 Postgres 使用的数据存储区进行网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6。

  2. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  3. 更新机器 12 和 13 上的 Qpid:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  4. 在机器 4 和 5 上更新 LDAP:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 按顺序更新机器 12、13、6、7、10 和 11 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新机器 6 和 7 上的界面:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (如果您安装了 apigee-adminapi)在机器 6 和 7 上更新了 apigee-adminapi 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安装了 Edge SSO)在机器 6 和 7 上更新 Edge SSO:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  9. 更新机器 8 和 9:
    1. 停止机器 8 上的 Postgres 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. 在机器 9 上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 在机器 12 和 13 上停止 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    4. 如果已安装,请在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    5. 在机器 8 上更新 PostgreSQL:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    6. 在机器 9 上更新 PostgreSQL:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    7. 在机器 8 和 9 上启动 Postgres 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
    8. 在机器 12 和 13 上启动 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    9. 在机器 9 上运行以下命令,将 Postgres 配置为备用节点:
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    10. 在两台服务器上运行以下脚本,验证复制状态。系统应在两个服务器上显示相同的结果,以确保复制成功:
      • 在机器 8(主节点)上,运行以下命令:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

        验证它是否显示为主实例。

      • 在机器 9(备用节点)上:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        验证其是否显示为备用。

  10. 更新机器 8 和 9 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  11. 确保按照退役 Postgres 节点中的说明退役新的备用节点。

    如果您使用的是网络存储,则无需安装新节点。如需了解详情,请参阅必须升级到 Postgres 9.6。

  12. 在机器 6 和 7 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

12 节点集群升级

如需查看 Edge 拓扑和节点编号的列表,请参阅安装拓扑。

  1. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储,则无需安装新节点。而是对 Postgres 使用的数据存储区进行网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6。

  2. 更新 Cassandra 和 ZooKeeper:
    1. 在数据中心 1 的机器 1、2 和 3 上:
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
    2. 在数据中心 2 的机器 7、8 和 9 上
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  3. 更新 qpidd:
    1. 数据中心 1 中的机器 4、5
      1. 在机器 4 上更新 qpidd:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. 在机器 5 上重复第 1 步。
    2. 数据中心 2 中的机器 10、11
      1. 更新机器 10 上的 qpidd :
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. 在机器 11 上重复第 1 步。
  4. 更新 LDAP:
    1. 数据中心 1 中的机器 1
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
    2. 数据中心 2 中的机器 7
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新 Edge 组件:
    1. 数据中心 1 中的机器 4、5、1、2、3
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    2. 数据中心 2 中的机器 10、11、7、8、9
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 更新界面:
    1. 数据中心 1 中的机器 1:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    2. 数据中心 2 中的机器 7:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (如果您安装了 apigee-adminapi)更新了 apigee-adminapi 实用程序:
    1. 数据中心 1 中的机器 1:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
    2. 数据中心 2 中的机器 7:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (如果您安装了 Edge SSO)更新 Edge SSO:
    1. 数据中心 1 中的机器 1:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    2. 数据中心 2 中的机器 7:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    3. 其中 sso_config_file 是您在安装 SSO 时创建的配置文件。

  9. 更新数据中心 1 中的机器 6 和数据中心 2 中的机器 12:
    1. 在机器 6 上停止 Postgres 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. 在机器 12 上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 在机器 4、5、10 和 11 上停止 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    4. 如果已安装,请在为回滚添加的新备用节点上停止 Postgres 服务器和 postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    5. 更新机器 6 上的 postgresql:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    6. 更新机器 12 上的 postgresql:
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    7. 在机器 6 和 12 上启动 Postgres 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
    8. 在机器 4、5、10 和 11 上启动 Qpid 服务器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
    9. 在机器 12 上运行以下命令,将 Postgres 配置为备用节点:
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    10. 在两台服务器上运行以下脚本,验证复制状态。系统应在两个服务器上显示相同的结果,以确保复制成功:

      在机器 6(主节点)上,运行以下命令:

      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      验证它是否显示为主实例。

      在机器 12(备用节点)上:

      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      验证其是否显示为备用。

  10. 更新机器 6 和 12 上的 Edge 组件:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  11. 确保按照停用 Postgres 节点中的说明停用新的备用节点。

    如果您使用的是网络存储,则无需安装新节点。如需了解详情,请参阅必须升级到 Postgres 9.6。

  12. 在机器 1 和 7 上重启 Edge 界面组件:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

对于非标准升级

如果您使用的是非标准配置,请按以下顺序更新 Edge 组件:

  1. ZooKeeper
  2. Cassandra
  3. qpidd、ps
  4. LDAP
  5. Edge,即所有节点上的“-c edge”配置文件,顺序如下:具有 Qpid 服务器、Edge Postgres 服务器、管理服务器、消息处理器和路由器的节点。
  6. Edge 界面
  7. apigee-adminapi
  8. Edge SSO

完成更新后,请务必在运行 Edge 界面组件的所有机器上重启该组件。