将 Apigee Edge 4.16.05.x 更新到最新版 4.16.05

适用于私有云的 Edge v. 4.16.05

本文档包含用于更新现有的 4.16.05 安装的过程。 以便使用 Apigee 的最新 RPM 和支持文件。此过程使用 update.sh 实用程序 执行更新。

您可以更新哪些 Edge 版本 更新到最新的 4.16.05 版本

您只能将现有 Apigee Edge 4.16.05.x 版更新到最新版本 4.16.05 版。

如果您目前运行的是 Edge 4.16.01.0x 或更低版本,则必须先迁移到 4.16.05.请参阅将 Apigee Edge 4.16.01 更新到 4.16.05 了解如何迁移到 4.16.05 版。

谁可以执行更新

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

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

更新的磁盘空间要求

在执行 更新。

自动传播属性 4.16.05.x 中的设置

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

更新前提条件

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

  • 备份所有节点
    在更新之前,建议您对所有节点执行完整的备份以确保安全 。请按照适用于当前 Edge 版本的过程执行备份。

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

    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-all

处理失败的更新

如果更新失败,您可以尝试纠正问题,然后运行 update.sh 。您可以多次运行更新,系统会从上次更新的位置继续更新 关闭。

如果失败操作要求您将更新回滚到先前版本,请参阅 4.16.05 回滚流程

Logging 更新信息

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

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

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

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

零停机更新

零停机更新或滚动更新,可让您在不停机更新的情况下 弃用了 Edge。

只有采用 5 节点及更大节点的配置才能实现零停机更新。

零停机升级的关键是从负载中移除每个路由器(一次一个) 进行负载均衡。然后,在与它相同的机器上更新路由器和任何其他组件, 然后将路由器添加回负载平衡器

  1. 按照正确的安装顺序更新机器,如下所述 。
  2. 当需要更新路由器时,请选择任意一个路由器并使其无法访问,因为 具体说明请参见下一部分“使路由器和消息处理器无法访问”。
  3. 更新所选路由器和与其位于同一机器上的所有其他 Edge 组件。 所有 Edge 配置都在同一节点上显示路由器和消息处理器。
  4. 使路由器再次可连接。
  5. 对其余的路由器重复步骤 2 到 4。
  6. 继续更新安装中的所有剩余机器。

创建路由器和 无法访问消息处理器

在生产设置中,您需要实现多个路由器和消息处理器 并且您必须启用/停用这些路由器和消息功能的可达性 更新前后的处理器。

以下 API 调用会将节点配置为可访问或无法访问:

> curl -u adminEmail:pWord -X POST "http://<ms_IP>:8080/v1/servers/UUID" -d "reachable=true|false"

其中 UUID 是消息处理器或路由器的 UUID;以及 将 Reachable 设置为 true 或 false。

如果您需要确定路由器的 UUID,请使用以下 c网址 命令:

> curl http://<routerIP>:8081/v1/servers/self

如果您需要确定消息处理器的 UUID,请使用以下 c网址 命令:

> curl http://<mpIP>:8082/v1/servers/self

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

  • 在合并了路由器和消息处理器的节点上: <ph type="x-smartling-placeholder">
      </ph>
    • 在更新之前,请执行以下操作: <ph type="x-smartling-placeholder">
        </ph>
      1. 使用上述 API 调用将路由器设置为无法访问。
      2. 使消息处理器无法访问。
    • 更新后,请执行以下操作: <ph type="x-smartling-placeholder">
        </ph>
      1. 使消息处理器可访问。
      2. 使路由器可以访问。
  • 在单个路由器节点上: <ph type="x-smartling-placeholder">
      </ph>
    • 在更新之前,请将该路由器设为可访问。
    • 更新后,使路由器可以访问。
  • 在单个消息处理器节点上: <ph type="x-smartling-placeholder">
      </ph>
    • 在更新之前,请将消息处理器设为无法访问。
    • 更新后,使消息处理器可访问。

使用静默配置文件

您必须将静默配置文件传递给 update 命令。静默配置文件 应与用于安装 Edge 4.16.05 的相同。

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

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

  1. 停用任何配置为在 Cassandra 上执行修复操作的 CRON 作业(如果存在) 直到更新完成为止。
  2. 以 root 身份登录您的节点以安装 Edge RPM
    注意:虽然 RPM 安装需要 root 访问权限,但您可以执行 Edge, 配置。
  3. 按照安装 Edge apigee-setup 中所述停用 SELinux 实用程序
  4. 清理所有 Yum 缓存:
    &gt;sudo yum clean all
  5. 将最新的 Edge bootstrap_4.16.05.sh 文件下载到 /tmp/bootstrap_4.16.05.sh:
    &gt;curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh
  6. 更新 Edge apigee-service 实用程序和依赖项:
    &gt;sudo bash /tmp/bootstrap_4.16.05.sh apigeeuser=uName apigeepassword=pWord

    其中 uName:pWord 是您通过该电子邮件收到的用户名和密码 Apigee。如果您省略 pWord,系统会提示您输入。
  7. 使用 apigee-service 更新 apigee-setup 实用程序:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-setup 更新

    对 apigee-service 进行的这项更新会将 update.sh 实用程序安装到 /<inst_dir>/apigee/apigee-setup/bin
  8. 按照下文“机器的顺序”部分所述的顺序在您的节点上运行更新实用程序, 更新”下方:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c 组件 -f configFile

    对配置文件的唯一要求是配置文件必须可供访问 可由“apigee”读取用户。例如,将文件放在 节点。

    使用“-c”选项指定要更新的组件。可能的 组件包括: <ph type="x-smartling-placeholder">
      </ph>
    • ldap = OpenLDAP
    • cs = Cassandr
    • zk = 动物园管理员
    • 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 Stack 和 API BaaS 门户位于同一节点上
  9. 通过运行 apigee-validate 实用程序测试安装来测试更新。

从本地服务器更新 4.16.05 的过程 代码库

如果您的 Edge 节点受防火墙保护,或以其他方式被禁止访问 Apigee 代码库,然后便可从本地代码库执行更新, 也就是 Apigee 代码库的镜像

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

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

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

  1. 确保您拥有本地 4.16.05 代码库,如在 节点
  2. 更新本地代码库: <ph type="x-smartling-placeholder">
      </ph>
    1. 下载最新的 Edge bootstrap_4.16.05.sh 文件, /tmp/bootstrap_4.16.05.sh
      &gt;curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh
    2. 执行同步:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-mirror 同步 --only-new-rpms
  3. 如需从 .tar 文件安装 apigee-service,请执行以下操作: <ph type="x-smartling-placeholder">
      </ph>
    1. 在具有本地代码库的节点上,使用以下命令打包本地代码库 导出到一个名为 /opt/apigee/data/apigee-mirror/apigee-4.16.05.tar.gz 的.tar 文件:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-mirror 软件包
    2. 将 .tar 文件复制到您要在其中更新 Edge 的节点。例如,将其复制到 /tmp 目录下的 新节点。
    3. 在新节点上,将文件解压缩到 /tmp 目录:
      tar -xzf apigee-4.16.05.tar.gz

      此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录 文件。例如 /tmp/repos。
    4. 以 root 身份登录您的节点以安装 Edge RPM
      注意:虽然 RPM 安装需要 root 访问权限,但您可以执行 Edge, 配置。
    5. 按照安装 Edge 所述步骤停用 SELinux apigee-setup 实用程序
    6. 安装 /tmp/repos 中的 Edge apigee-service 实用程序和依赖项:
      &gt;sudo bash /tmp/repos/bootstrap_4.16.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

      请注意,您在此命令中加入了代码库目录的路径。
  4. 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作: <ph type="x-smartling-placeholder">
      </ph>
    1. 按照“使用 Nginx 从代码库安装”中的说明配置 Nginx Web 服务器 webserver&quot;安装 节点上的边缘组件
    2. 在远程节点上,下载 Edge bootstrap_4.16.05.sh 文件以 /tmp/bootstrap_4.16.05.sh:
      &gt;/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh

      其中 uName:pWord 是您在上述步骤中设置的用户名和密码 remoteRepo 中,是代码库的 IP 地址或 DNS 名称 代码库节点。
    3. 以 root 身份登录您的节点以安装 Edge RPM
      注意:虽然 RPM 安装需要 root 访问权限,但您可以执行 Edge, 配置。
    4. 按照安装 Edge 所述步骤停用 SELinux apigee-setup 实用程序
    5. 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:
      &gt;sudo bash /tmp/bootstrap_4.16.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uNamea pigeepassword=pWord apigeeprotocol=http://

      其中 uName:pWord 是 Repo 用户名和密码。
  5. 停用任何配置为在 Cassandra 上执行修复操作的 CRON 作业(如果存在) 直到更新完成为止。
  6. 使用 apigee-service 更新 apigee-setup 实用程序:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-setup 更新

    针对 apigee-service 的这项更新会在 &lt;inst_dir&gt;/apigee/apigee-setup/bin 中安装了 update.sh 实用程序。
  7. 按照下文“机器的顺序”部分所述的顺序在您的节点上运行更新实用程序, 更新”下方:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c 组件 -f configFile

    对配置文件的唯一要求是配置文件必须可供访问 可由“apigee”读取用户。例如,将文件放在 节点。

    使用“-c”选项指定要更新的组件。可能的 组件包括: <ph type="x-smartling-placeholder">
      </ph>
    • ldap = OpenLDAP
    • cs = Cassandr
    • zk = 动物园管理员
    • 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 Stack 和 API BaaS 门户位于同一节点上
  8. 通过运行 apigee-validate 实用程序(测试安装)来测试更新。

机器更新顺序

在 Edge 安装中更新机器的顺序很重要。最 更新时需要考虑的重要事项包括:

  • 在更新任何 Cassandra 和 ZooKeeper 节点之前,您必须更新 其他节点
  • 在更新任何 qpidd 和 postgresql 节点之前,必须先更新 路由器和消息处理器节点。
  • 对于具有多个边缘组件(管理服务器、消息处理器、 路由器、QPID 服务器、Postgres 服务器)使用“-c 边缘”以便一次性更新所有选项 。
  • 如果某个步骤指定在多台机器上执行,请在 指定机器顺序
  • 更新创收功能没有单独的步骤。当您指定“-c” 边缘"选项。
  • 更新路由器节点后,必须移除 /opt/nginx/conf.d 目录中的所有文件, 然后重启路由器。

对于单主机独立式服务器 安装

  1. 更新机器 1:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
  2. 删除 /opt/nginx/conf.d 中的所有文件:
    &gt;室 - F /opt/nginx/conf.d/*
  3. 重启边缘路由器:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart

对于双主机独立式设备 安装

请参阅安装 拓扑

  1. 在机器 1 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新机器 2 上的 qpidd 和 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 更新机器 1 上的 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新机器 2 和机器 1 上的 Edge 组件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 在节点 1 上: <ph type="x-smartling-placeholder">
      </ph>
    1. 删除 /opt/nginx/conf.d 中的所有文件:
      &gt;室 - F /opt/nginx/conf.d/*
    2. 重启边缘路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  6. 更新机器 1 上的界面:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

对于包含 5 个主机的集群 安装

请参阅安装 拓扑

  1. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新机器 4 和 5 上的 qpidd 和 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile
  3. 更新机器 1 上的 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. 更新机器 4、5、1、2、3 上的 Edge 组件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. 在节点 2 和节点 3 上: <ph type="x-smartling-placeholder">
      </ph>
    1. 删除 /opt/nginx/conf.d 中的所有文件:
      &gt;室 - F /opt/nginx/conf.d/*
    2. 重启边缘路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  6. 更新机器 1 上的界面:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

对于包含 9 个主机的集群 安装

请参阅安装 拓扑

  1. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新机器 6 和 7 上的 qpidd:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新机器 8 和 9 上的 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新机器 1 上的 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 按如下顺序更新机器 6、7、8、9、1、4 和 5 上的 Edge 组件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 在节点 4 和节点 5 上: <ph type="x-smartling-placeholder">
      </ph>
    1. 删除 /opt/nginx/conf.d 中的所有文件:
      &gt;室 - F /opt/nginx/conf.d/*
    2. 重启边缘路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  7. 更新机器 1 上的界面:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

对于包含 13 个主机的集群 安装

请参阅安装 拓扑

  1. 在机器 1、2 和 3 上更新 Cassandra 和 ZooKeeper:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 在机器 12 和 13 上更新 qpidd:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新机器 8 和 9 上的 postgresql:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新计算机 4 和 5 上的 LDAP:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 按如下顺序更新机器 12、13、8、9、6、7、10 和 11 上的 Edge 组件:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. 在节点 10 和 11 上: <ph type="x-smartling-placeholder">
      </ph>
    1. 删除 /opt/nginx/conf.d 中的所有文件:
      &gt;室 - F /opt/nginx/conf.d/*
    2. 重启边缘路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  7. 更新机器 6 和 7 上的界面:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

对于包含 12 个主机的集群 安装

请参阅安装 拓扑

  1. 更新 Cassandra 和 ZooKeeper: <ph type="x-smartling-placeholder">
      </ph>
    1. 在数据中心 1 的机器 1、2 和 3 上:
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
    2. 在数据中心 2 的机器 7、8 和 9 上
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. 更新 Qpidd: <ph type="x-smartling-placeholder">
      </ph>
    1. 数据中心 1 中的机器 4、5
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
    2. 数据中心 2 中的机器 10、11
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  3. 更新 postgresql: <ph type="x-smartling-placeholder">
      </ph>
    1. 数据中心 1 中的机器 6
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    2. 数据中心 2 中的机器 12
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. 更新 LDAP: <ph type="x-smartling-placeholder">
      </ph>
    1. 数据中心 1 中的机器 1
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
    2. 数据中心 2 中的机器 7
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. 更新 Edge 组件: <ph type="x-smartling-placeholder">
      </ph>
    1. 数据中心 1 中的机器 4、5、6、1、2、3
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    2. 数据中心 2 中的机器 10、11、12、7、8、9
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    3. 在节点 2、3、8 和 9 上: <ph type="x-smartling-placeholder">
        </ph>
      1. 删除 /opt/nginx/conf.d 中的所有文件:
        &gt;室 - F /opt/nginx/conf.d/*
      2. 重启边缘路由器:
        &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router 重启
  6. 更新界面: <ph type="x-smartling-placeholder">
      </ph>
    1. 数据中心 1 中的机器 1
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    2. 数据中心 2 中的机器 7
      &gt; /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile

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

请参阅安装 拓扑

  1. 在机器 5、6 和 7 上更新 Cassandra:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. 更新机器 1、2 和 3 上的 ElasticSearch 和 API BaaS Stack:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile
  3. 在机器 4 上更新 API BaaS 门户:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile

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

请参阅安装 拓扑

  1. 在机器 8、9 和 10 上更新 Cassandra:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. 更新机器 1、2 和 3 上的 ElasticSearch:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c e -f 配置文件
  3. 更新机器 4、5 和 6 上的 API BaaS 堆栈:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile
  4. 在机器 7 上更新 API BaaS 门户:
    &gt; /opt/apigee/apigee-setup/bin/update.sh -c p -f 配置文件

对于非标准安装

如果您进行非标准安装,请更新以下 Edge 组件, 订单:

  1. ZooKeeper
  2. Cassandra
  3. qpidd
  4. postgresql
  5. LDAP
  6. 边缘,表示“-c 边缘”所有节点上的配置文件,分别为:Qpid、Postgres、Management 服务器、消息处理器、路由器。
  7. 在所有路由器节点上: <ph type="x-smartling-placeholder">
      </ph>
    1. 删除 /opt/nginx/conf.d 中的所有文件:
      &gt;室 - F /opt/nginx/conf.d/*
    2. 重启边缘路由器:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  8. 界面