将 Apigee Edge 4.17.0x 更新为 4.18.01

Edge for Private Cloud v4.18.01

您可以更新到 4.18.01 的 Edge 版本

您可以使用此过程更新 Apigee Edge 4.17.0x 版。

如果您的 Edge 版本低于 4.16.01,则必须先迁移到版本 4.16.01.x,然后再更新到版本 4.18.01。

谁可以执行更新

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

安装 Edge RPM 后,任何用户都可以配置它们。

必须更新哪些组件

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

保持兼容性

将适用于私有云的 Apigee Edge 升级到 4.18.01 时,您必须确保生成的实现仅引用其配置文件中受支持的属性。

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

媒体资源设置的自动传播

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

需要添加 SMTPmailFROM 配置参数

Edge 4.17.05 在启用 SMTP 服务器时使用的配置文件中新增了一个必需参数。如果您是从 4.17.01 开始更新,则必须在启用 SMTP 服务器时在配置文件中设置 SMTPmailFROM

API BaaS 4.17.09 版还增加了对 SMTPmailFROM 属性的支持。从 4.17.01 或 4.17.05 更新 API BaaS 时,您必须在配置文件中设置 SMTPmailFROM

此参数的格式如下:

SMTPMAILFROM="My Company <myco@company.com>"

必须升级到 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(用于原型设计和测试的拓扑)中,您只有一个 Postgres 节点。您可以直接更新这些 Postgres 节点,而无需创建新的 Postgres 节点。
  • 如果您为 Postgres 节点使用网络存储空间(按照 Apigee 的建议),则无需安装新的 Postgres 节点。在下面的过程中,您可以跳过指定安装并在稍后停用新的 Postgres 备用节点的步骤。

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

安装新的 Postgres 备用节点

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

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

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

  1. 在当前 Postgres 主实例上,修改 /opt/apigee/customer/application/postgresql.properties 文件以设置以下令牌:
    conf_pg_hba_replication.connection=host replication apigee existing_slave_ip/32
    trust\ \nhost replication apigee new_slave_ip/32 trust

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

    如果 postgresql.properties 文件不存在,请创建该文件并使用 chownapigee 用户授予访问该文件的权限,如以下示例所示:

    chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
  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_slave_ip/32 trust
    host replication apigee new_slave_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.0x.sh 文件(其中 4.17.0x4.17.014.17.054.17.09)下载到 /tmp/bootstrap_4.17.0x.sh
      curl https://software.apigee.com/bootstrap_4.17.0x.sh -o /tmp/bootstrap_4.17.0x.sh
    4. 安装 Edge apigee-service 实用程序和依赖项:
      sudo bash /tmp/bootstrap_4.17.0x.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 状态

    如果 Postgres 未运行,请启动:
    > /opt/apigee/apigee-service/bin/apigee-all start
  2. 在新备用节点上运行以下 c网址 命令,以获取新备用节点的 UUID:
    > curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self

    您应在输出末尾看到节点的 UUID,该节点的格式为:[UID-bfe5e7][UID-bfe5][UID-bfe5]:

  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.connection=host 复制 apigee existing_slave_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 文件,验证新的备用节点是否已移除。您应该只在该文件中看到以下行:
    主机副本 apigee existing_slave_ip/32 信任
  7. 在管理服务器节点上进行以下 Edge Management API 调用,从 ZooKeeper 中删除备用节点的 UUID:
    > curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/<new_slave_uuid>

更新前提条件

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

  • 备份所有节点
    出于安全考虑,建议您先完整备份所有节点,然后再进行更新。请按照当前版本 Edge 中的步骤执行备份。

    这样可以创建备份方案,以防新版本无法正常更新。如需详细了解备份,请参阅备份和恢复
  • 确保 Edge 正在运行
    使用以下命令确保 Edge 在更新过程中已启动并运行:

    > /opt/apigee/apigee-service/bin/apigee-all status

处理失败的更新

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

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

Logging 更新信息

默认情况下,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 组件。 所有边缘配置都在同一节点上显示路由器和消息处理器。
  4. 使该路由器可再次连接。
  5. 对其余路由器重复步骤 2 到 4。
  6. 继续更新安装中的所有其余计算机。

更新前后请注意以下事项:

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

使用静默配置文件

您必须将静默配置文件传递给 update 命令。静默配置文件应该与您安装 Edge 4.17.0x 时所用的配置文件相同。

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

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

  1. 如果您目前将 Postgres 主备用复制功能与本地存储空间搭配使用,请按照上文安装新的 Postgres 备用节点中的说明安装新的 Postgres 备用节点。

    如果您使用的是网络存储空间,则无需安装新节点。请改为截取 Postgres 使用的数据存储区的网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6
  2. 如果存在配置为在 Cassandra 上执行修复操作的 CRON 作业,则停用该作业,直到更新完成为止。
  3. 以根用户身份登录节点以安装 Edge RPM。
    注意:虽然 RPM 安装需要 root 访问权限,但您可以在没有 root 访问权限的情况下执行 Edge 配置。
  4. 安装 yum-utilsyum-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.18.01 bootstrap_4.18.01.sh 文件下载到 /tmp/bootstrap_4.18.01.sh
    > curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01
  9. 安装 Edge 4.18.01 apigee-service 实用程序和依赖项:
    > sudo bash /tmp/bootstrap_4.18.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 组件 -f configFile

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

    使用“-c”选项指定要更新的组件。可能的组件列表包括:
    ldap = OpenLDAPa = 所有边缘 API
    cs = Cassandra
    zk = Zookeeper
    qpid = qpidd
    ps = postgresql
    edge = 除 Edge 界面上的所有组件(边缘界面除外) ldap = Bare 门户 API 或 Bare 部署 6.
    所有 Elastic 门户 API 安装 = Bas 门户 API 全部




  14. 按照测试安装中所述,在管理服务器上运行 apigee-validate 实用程序以测试更新。
  15. 如果您安装了新的 Postgres 备用节点,请按照停用 Postgres 节点中的说明停用该节点。

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

若要稍后回滚更新,请按照 4.18.01 回滚流程中所述的过程进行操作。

从本地代码库更新到 4.18.01 的过程

如果您的 Edge 节点设有防火墙,或者由于某种其他方式被禁止通过互联网访问 Apigee 代码库,则您可以通过 Apigee 代码库的本地代码库(或镜像)执行更新。

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

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

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

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

    如果您使用的是网络存储空间,则无需安装新节点。请改为截取 Postgres 使用的数据存储区的网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6
  2. 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”部分所述,创建本地 4.18.01 代码库。
    注意:如果您已有现有的 4.17.0x 代码库,则可以向其添加 4.18.01 代码库,如安装 Edge apigee-setup 实用程序中的“更新本地 Apigee 代码库”中所述。
  3. 如需通过 .tar 文件安装 apigee-service,请执行以下操作:
    1. 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.18.01.tar.gz 的.tar 文件中:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
    2. 将 .tar 文件复制到您要在其中更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
    3. 在新节点上,将文件解压缩到 /tmp 目录:
      > tar -xzf apigee-4.18.01.tar.gz

      此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。
    4. 从 /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
      > sudo bash /tmp/repos/bootstrap_4.18.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

      请注意,此命令中包含代码库目录的路径。
  4. 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作
    1. 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx 网络服务器从代码库安装”中的说明配置 Nginx 网络服务器。
    2. 在远程节点上,将 Edge bootstrap_4.18.01.sh 文件下载到 /tmp/bootstrap_4.18.01.sh:
      > /usr/bin/curl, http://uName:@remoteRepo:3939/bootstrap_4.18.01。remoteRepo:3939/bootstrap_4.18.01。

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

      其中 uuName 是 repoName。
  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 更新
  7. 更新 apigee-provision 实用程序:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  8. 请按照下方“机器更新的顺序”部分所述的顺序在您的节点上运行更新实用程序:
    > /opt/apigee/apigee-setup/bin/update.sh -c components -f configFile

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

    使用“-c”选项指定要更新的组件。可能的组件列表包括:
    ldap = OpenLDAPa = 所有边缘 API
    cs = Cassandra
    zk = Zookeeper
    qpid = qpidd
    ps = postgresql
    edge = 除 Edge 界面上的所有组件(边缘界面除外) ldap = Bare 门户 API 或 Bare 部署 6.
    所有 Elastic 门户 API 安装 = Bas 门户 API 全部




  9. 按照测试安装中所述,在管理服务器上运行 apigee-validate 实用程序以测试更新。
  10. 如果您安装了新的 Postgres 备用节点,请按照上文停用 Postgres 节点中的说明停用该节点。

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

若要稍后回滚更新,请按照 4.18.01 回滚流程中所述的过程进行操作。

机器更新顺序

在安装 Edge 时更新计算机的顺序非常重要。更新时最重要的注意事项包括:

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

对于单主机独立安装

  1. 如果您是从 4.17.01 开始更新,请在配置文件中设置 SMTPmailFROM(如果您在 Edge 上启用了 SMTP)。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  3. 更新 Qpid:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  4. 更新 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 停止 Postgres Server、Qpid 服务器和 PostgreSQL:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. 更新 postgresql:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  7. 更新 Postgres 数据库:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
  8. 更新其余的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  9. 更新 Edge 界面:
    > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

对于双主机独立安装

如需查看边缘拓扑和节点号列表,请参阅安装拓扑

  1. 如果您是从 4.17.01 开始更新,请在配置文件中设置 SMTPmailFROM(如果您在 Edge 上启用了 SMTP)。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 在机器 1 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  3. 更新机器 2 上的 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 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  6. 更新机器 1 上的界面:
    > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. 在机器 2 上更新 postgresql:
    1. 停止 Postgres Server、Qpid 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
      > /opt/sqlapigee/apigee-service/bin/apigee-serviceedge-qpid-server stop
      > /opt/apigee/apigee-service/bin/apigee-service stop-postgre
    2. 更新 postgresql:
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    3. 更新 Postgres 数据库:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
    4. 更新机器 2 上的 Edge 组件:
      > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile

对于 5 主机的集群安装

如需查看边缘拓扑和节点号列表,请参阅安装拓扑

  1. 如果您是从 4.17.01 开始更新,请在配置文件中设置 SMTPmailFROM(如果您在 Edge 上启用了 SMTP)。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储空间,则无需安装新节点。请改为截取 Postgres 使用的数据存储区的网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6
  3. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  4. 更新机器 4 和机器 5 上的 Qpid:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  5. 更新机器 1 上的 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 更新机器 1、2、3 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  7. 更新机器 1 上的界面:
    > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  8. ??更新机器 4 和 5:
    1. 停止机器 4 上的 Postgres 服务器和 Qpid 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server stop
    2. 在机器 5 上停止 Postgres 服务器、Qpid 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server stop
      > /stop/apigee/apigee-service/bin/apigee-service/
    3. 如果已安装,请在您为了回滚而添加的新备用节点上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-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. 更新机器 4 上的 Postgres 数据库(仅限 Postgres 主实例):
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
    6. 在机器 5 上更新 postgresql:
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    7. 在机器 4 和 5 上启动 Postgres 服务器和 Qpid 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server start
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server start
    8. 在机器 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
    9. 通过在两台服务器上发出以下脚本来验证复制状态。系统应在两台服务器上显示完全相同的结果,以确保复制成功:

      在机器 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

      验证是否是备用节点。
  9. 更新机器 4 和 5 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  10. 确保按照上面的停用 Postgres 节点中的步骤停用新的备用节点。

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

对于 9 台主机的集群安装

如需查看边缘拓扑和节点号列表,请参阅安装拓扑

  1. 如果您是从 4.17.01 开始更新,请在配置文件中设置 SMTPmailFROM(如果您在 Edge 上启用了 SMTP)。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储空间,则无需安装新节点。请改为截取 Postgres 使用的数据存储区的网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6
  3. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  4. 在机器 6 和机器 7 上更新 Qpid:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  5. 更新机器 1 上的 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 按以下顺序更新机器 6、7、1、4 和 5 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  7. 更新机器 1 上的界面:
    > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile?
  8. 更新机器 8 和 9:
    1. 在机器 8 上停止 Postgres 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
    2. 在机器 9 上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 在机器 6 和 7 上停止 Qpid 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server stop
    4. 如果已安装,请在您为了回滚而添加的新备用节点上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-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. 更新机器 8 上的 Postgres 数据库(仅限 Postgres 主实例):
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
    7. 在机器 9 上更新 postgresql:
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    8. 在机器 8 和 9 上启动 Postgres 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server start
    9. 在机器 6 和 7 上启动 Qpid 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server start
    10. 在机器 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
    11. 通过在两台服务器上发出以下脚本来验证复制状态。系统应在两个服务器上显示相同的结果,以确保复制成功:
      在机器 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

      验证是否是备用节点。
  9. 更新机器 8 和机器 9 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  10. 确保按照上面的停用 Postgres 节点中的步骤停用新的备用节点。

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

对于 13 个主机的集群安装

如需查看边缘拓扑和节点号列表,请参阅安装拓扑

  1. 如果您是从 4.17.01 开始更新,请在配置文件中设置 SMTPmailFROM(如果您在 Edge 上启用了 SMTP)。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储空间,则无需安装新节点。请改为截取 Postgres 使用的数据存储区的网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6
  3. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  4. 在机器 12 和 13 上更新 Qpid:
    > /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  5. 更新机器 4 和机器 5 上的 LDAP:
    > /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  6. 按以下顺序更新机器 12、13、6、7、10 和 11 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  7. 更新机器 6 和机器 7 上的界面:
    > /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile??
  8. 更新机器 8 和 9:
    1. 在机器 8 上停止 Postgres 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
    2. 在机器 9 上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 停止机器 12 和 13 上的 Qpid 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server stop
    4. 如果已安装,请在您为了回滚而添加的新备用节点上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-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. 更新机器 8 上的 Postgres 数据库(仅限 Postgres 主实例):
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
    7. 在机器 9 上更新 postgresql:
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    8. 在机器 8 和机器 9 上启动 Postgres 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server start
    9. 在机器 12 和 13 上启动 Qpid 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server start
    10. 在机器 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
    11. 通过在两台服务器上发出以下脚本来验证复制状态。系统应在两个服务器上显示相同的结果,以确保复制成功:
      在机器 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

      验证是否是备用节点。
  9. 更新机器 8 和机器 9 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile??
  10. 确保按照上面的停用 Postgres 节点中的步骤停用新的备用节点。

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

对于 12 个主机的集群安装

如需查看边缘拓扑和节点号列表,请参阅安装拓扑

  1. 如果您是从 4.17.01 开始更新,请在配置文件中设置 SMTPmailFROM(如果您在 Edge 上启用了 SMTP)。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 确保您已按照安装新的 Postgres 备用节点中的说明安装了新的 Postgres 备用节点。

    如果您使用的是网络存储空间,则无需安装新节点。请改为截取 Postgres 使用的数据存储区的网络快照。如需了解详情,请参阅必须升级到 Postgres 9.6
  3. 更新 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
  4. 更新 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 步。
  5. 更新 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
  6. 更新 Edge 组件:
    1. 数据中心 1 中的机器 4、5、1、2、3
      > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
    2. 数据中心 2 中的机器 10、11、7、8、9
      > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  7. 更新界面:
    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
  8. ?更新数据中心 1 和数据中心 2 中的机器 6 和 12:
    1. 在机器 6 上停止 Postgres 服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server stop
    2. 在机器 12 上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-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-serviceedge-qpid-server stop
    4. 如果已安装,请在您为了回滚而添加的新备用节点上停止 Postgres 服务器和 postgresql:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-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. 更新机器 6 上的 Postgres 数据库(仅限 Postgres 主实例):
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
    7. 在机器 12 上更新 postgresql:
      > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    8. 在机器 6 和 12 上启动 Postgres 服务器服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server start
    9. 在机器 4、5、10 和 11 上启动 Qpid 服务器服务器:
      > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server start
    10. 在机器 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
    11. 通过在两台服务器上发出以下脚本来验证复制状态。系统应在两台服务器上显示完全相同的结果,以确保复制成功:
      在机器 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

      验证确认自己是备用节点。
  9. 更新机器 6 和 12 上的 Edge 组件:
    > /opt/apigee/apigee-setup/bin/update.sh -cedge -f configFile
  10. 确保按照上面的停用 Postgres 节点中的步骤停用新的备用节点。

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

对于 7 主机 API BaaS 安装

  1. 在配置文件中设置 SMTPmailFROM。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 在机器 5、6 和 7 上更新 Cassandra:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  3. 更新机器 1、2 和 3 上的 ElasticSearch 和 API BaaS 堆栈:
    > /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile

  4. 更新机器 4 上的 API BaaS 门户:
    > /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile

对于包含 10 个主机的 API BaaS 安装

  1. 在配置文件中设置 SMTPmailFROM。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 在机器 8、9 和 10 上更新 Cassandra:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  3. 在机器 1、2 和 3 上更新 ElasticSearch:
    > /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
  4. 更新机器 4、5 和 6 上的 API BaaS 堆栈:
    > /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
  5. 在机器 7 上更新 API BaaS 门户:
    > /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile

对于双数据中心 API Baas 安装

此过程要求您更新两个数据中心中的 Cassandra 节点。如果您要与 Edge 共享这些 Cassandra 节点,则通常会在 Edge 更新过程中更新这些节点。

  1. 在配置文件中设置 SMTPmailFROM。此参数的格式为:
    SMTPmailFROM="My Company <myco@company.com>"
  2. 使用正确的复制因子更新两个数据中心的 Cassandra 键空间。您只需在任一数据中心的任何 Cassandra 服务器上运行此步骤一次:

    注意:下面的命令均将复制因子设置为“3”,表示集群中的三个 Cassandra 节点。根据安装需要修改此值。
    1. 启动 Cassandra cqlsh 实用程序:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. 在“cqlsh>”提示符处执行以下 CQL 命令,以设置 Cassandra 键空间的复制级别:
      1. cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH Replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH copy = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh> ALTER KEYSPACE "Apigee_Baas_Locks" WITH copy = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh> ALTER KEYSPACE" "system_traces" WITH copy = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH copy = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. 使用以下命令查看键空间:
        cqlsh> select * from system.schema_keyspaces;
      7. 退出 cqlsh:
        cqlsh> exit
  3. (仅在更新 Edge 时未更新 Cassandra)更新数据中心 1 中的 Cassandra 节点,一次只更新一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  4. (仅在更新 Edge 时未更新 Cassandra)更新数据中心 2 中的 Cassandra 节点,一次一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  5. 在数据中心 1 的机器上更新 ElasticSearch,一次一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
  6. 在数据中心 2 的机器上更新 ElasticSearch,一次一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile
  7. 在数据中心 1 的机器上更新 API BaaS 堆栈,一次只更新一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
  8. 在数据中心 2 的机器上更新 API BaaS 堆栈,一次只更新一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
  9. 在数据中心 1 的机器上更新 API BaaS 门户,一次一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
  10. 在数据中心 2 的机器上更新 API BaaS 门户,一次一台机器:
    > /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
  11. 更新了 BaaS 键空间值。这些键空间必须在安装时设置以进行复制,但不必在运行时执行。移除复制还可节省 Cassandra 内存。

    您只需在任一数据中心的任何 Cassandra 服务器上运行此步骤一次:
    1. 启动 Cassandra cqlsh 实用程序:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. 执行以下 CQL 命令,以设置 Cassandra 键空间的复制级别:
      1. cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH copy = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH copy = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. 使用以下命令查看键空间:
        cqlsh> select * from system.schema_keyspaces;
      4. 退出 cqlsh:
        cqlsh> exit

非标准安装

如果您安装的是非标准安装,请按以下顺序更新 Edge 组件:

  1. ZooKeeper
  2. Cassandra
  3. qpidd、ps
  4. LDAP
  5. 边缘,表示所有节点上按以下顺序运行的“-c 边缘”配置文件:具有 Qpid 服务器、Postgres 服务器、管理服务器、消息处理器和路由器的节点。
    注意:如果节点同时安装了 Qpid 服务器和 Postgres 服务器,请执行“-cedge”配置文件步骤。
  6. Edge 界面
将 Apigee Edge 4.17.01/4.17.05 更新为 4.17.09