安装 Edge apigee-setup 实用程序

如需在节点上安装 Edge,您需要先安装 Edge apigee-setup 实用程序。如果您所在的环境中的节点没有外部互联网连接,则还必须安装 Apigee 代码库的本地副本。

默认安装目录:/opt/apigee

Edge 会将所有文件安装在 /opt/apigee 目录中。您无法更改此目录。不过,如果需要,您可以创建符号链接,将 /opt/apigee 映射到其他位置。如需了解详情,请参阅安装要求

前提条件:停用 SELinux

您必须先停用 SELinux 或将其设为宽容模式,然后才能安装 Edge apigee-setup 实用程序或任何 Edge 组件。如有必要,在安装 Edge 后,您可以重新启用 SELinux。

  • 如需暂时将 SELinux 设置为宽容模式,请执行以下命令:
    1. 在 Linux 6.x 操作系统上
      sudo echo 0 > /selinux/enforce

      如需在安装 Edge 后重新启用 SELinux,请执行以下操作:

      sudo echo 1 > /selinux/enforce
    2. 在 Linux 7.x 操作系统上
      sudo setenforce 0

      如需在安装 Edge 后重新启用 SELinux,请执行以下操作:

      sudo setenforce 1
  • 如需永久停用 SELinux 或将其设置为宽容模式,请执行以下操作:
    1. 在编辑器中打开 /etc/sysconfig/selinux
    2. 设置 SELINUX=disabledSELINUX=permissive
    3. 保存修改内容。
    4. 重启节点。
    5. 如有必要,请在安装 Edge 后重新启用 SELinux,方法是重复此过程以设置 SELINUX=enabled

前提条件:启用 EPEL 仓库

您必须启用 Extra Packages for Enterprise Linux (or EPEL),才能安装或更新 Edge 或创建本地代码库。您使用的命令取决于您的 RedHat/CentOS 版本:

  • 对于 RedHat/CentOS/Oracle 7.x:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo rpm -ivh epel-release-latest-7.noarch.rpm
  • 对于 RedHat/CentOS/Oracle 6.x:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    sudo rpm -ivh epel-release-latest-6.noarch.rpm

前提条件:检查 RedHat 7.4 和 CentOS 7.4 上的 libdb4 库版本

在 RedHat 7.4 和 CentOS 7.4 上,请先检查 libdb4 RPM 的版本,然后再进行安装。Edge 需要 4.8 版,并且某些版本的 RedHat 7.4 和 CentOS 7.4 附带了较新版本。如果您使用的是较高版本,请将其卸载,然后 Edge 安装程序会安装 4.8 版。

您可以使用以下命令查看版本:

rpm -qa | grep libdb4

如果您发现 libdb4 RPM 版本高于 4.8 版,请将其卸载。

在具有外部互联网连接的节点上安装 Edge apigee-setup 实用程序

如需在具有外部互联网连接的节点上安装 Edge,请执行以下操作:

  1. 从您用于访问 Apigee 代码库的 Apigee 获取用户名和密码。 如果您已有 Apigee FTP 网站的 username:password,则可以使用这些凭据。
  2. 以 root 身份登录节点以安装 Edge RPM
  3. 安装 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  4. 按照上述说明停用 SELinux。
  5. 如上所述,启用 EPEL 代码库。
  6. 请按照上述说明检查 libdb4 的版本。
  7. 如果您是在 Oracle 7.x 上安装,请运行以下命令:
    sudo yum-config-manager --enable ol7_optional_latest
  8. 如果您是在 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
  9. 将 Edge bootstrap_4.50.00.sh 文件下载到 /tmp/bootstrap_4.50.00.sh
    curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
  10. 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入该值。

    默认情况下,安装程序会检查您是否已安装 Java 1.8。如果您未安装,系统会为您安装。使用 JAVA_FIX 选项指定如何处理 Java 安装。JAVA_FIX 采用以下值:

    • I:安装 OpenJDK 1.8(默认)
    • C:在不安装 Java 的情况下继续
    • 问题:退出。对于此选项,您必须自行安装 Java。

    安装 apigee-service 实用程序会创建用于定义 Apigee 代码库的 /etc/yum.repos.d/apigee.repo 文件。如需查看定义文件,请使用以下命令:

    cat /etc/yum.repos.d/apigee.repo

    如需查看代码库内容,请使用以下命令:

    sudo yum -v repolist 'apigee*'
  11. 使用 apigee-service 安装 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  12. 使用 apigee-setup 在节点上安装和配置 Edge 组件。如需了解详情,请参阅在节点上安装边缘组件

问题排查

在尝试在具有外部互联网连接的节点上安装时,您可能会遇到以下一个或多个错误:

Cannot open: https:// : @ software.apigee.com//apigee-repo-version.rpm

bootstrap.sh: Error: Repo configuration failed

error: package package_name is not installed

下表列出了这些错误的一些可能解决方法:

错误类型 可能的解决方案
密码包含不良字符 请勿在 Apigee 密码中使用特殊字符。
连接问题

通过执行以下 ncat 命令来测试网络连接:

nc -v software.apigee.com 443

您应该会看到如下所示的消息:

Connection to software.apigee.com 443 port [tcp/https] succeeded!

如果未安装 nc,可以执行以下 telnet 命令:

telnet software.apigee.com 443

如果命令成功,您可以使用 CTRL+C 终止打开的连接。

如果任一命令都失败,则表示网络连接不佳或没有网络连接。请与您的广告资源网管理员联系。

凭据不正确

确保您的用户名和密码正确无误。

例如,请检查您在尝试使用以下命令并输入 Apigee 用户名和密码时是否收到错误消息:

curl -i -u username:password https://software.apigee.com/apigee-repo.rpm
代理问题 您的本地配置使用出站 HTTP 代理,但您尚未将相同的配置扩展到 yum 软件包管理器。检查您的环境变量:
echo $http_proxy
echo $https_proxy

对于出站 HTTP 代理,您应使用以下选项之一:

  • /etc/yum.conf 中添加 HTTP 代理配置
  • /etc/environment 中添加了全局 HTTP 代理配置

在没有外部互联网连接的节点上安装 Edge apigee-setup 实用程序

如果您的边缘节点位于防火墙后面,或者以其他方式被禁止访问互联网,则您必须创建多个包含安装过程中所需文件的代码库或镜像。然后,所有节点都必须能够访问这些镜像。创建后,节点便可以访问这些本地镜像来安装 Edge。

没有互联网连接的节点的 Apigee Edge 安装过程需要访问以下本地代码库:

创建本地 Apigee 代码库

如需创建内部 Apigee 代码库,您需要有一个具有外部互联网访问权限的节点,才能下载 Edge RPM 和依赖项。创建内部代码库后,您可以将其移至其他节点,或使该节点可供 Edge 节点访问以进行安装。

创建本地 Apigee 代码库后,您可能需要稍后使用最新的 Edge 版本文件对其进行更新。以下部分介绍了如何创建本地 Apigee 代码库以及如何对其进行更新。

如需创建本地 Apigee 代码库,请执行以下操作

  1. 从您用于访问 Apigee 代码库的 Apigee 获取用户名和密码。 如果您已有 Apigee FTP 网站的用户名和密码,则可以使用这些凭据。
  2. 以 root 用户身份登录节点,以安装 Edge RPM。
  3. 按照上述说明停用 SELinux。
  4. 将 Edge bootstrap_4.50.00.sh 文件下载到 /tmp/bootstrap_4.50.00.sh
    curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
  5. 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入该值。

  6. 在节点上安装 apigee-mirror 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror install
  7. 使用 apigee-mirror 实用程序将 Apigee 代码库同步到 /opt/apigee/data/apigee-mirror/repos/ 目录。

    为尽可能缩减代码库的大小,请添加 --only-new-rpms 以仅下载最新的 RPM。下载时需要大约 1.6 GB 的磁盘空间:

    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms

    如果您想下载整个代码库(包括较旧的 RPM),请省略 --only-new-rpms。 您需要大约 6 GB 的磁盘空间才能完整下载:

    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync

    您现在拥有 Apigee 代码库的本地副本。下一部分将介绍如何从本地代码库安装 Edge apigee-setup 实用程序。

  8. (可选)如果要将来自本地代码库的 Edge 安装到托管本地代码库的节点上,需要先运行以下命令:
    1. 从本地代码库运行 bootstrap_4.50.00.sh 以安装 apigee-service 实用程序:
      sudo bash /opt/apigee/data/apigee-mirror/repos/bootstrap_4.50.00.sh apigeeprotocol="file://" apigeerepobasepath=/opt/apigee/data/apigee-mirror/repos
    2. 使用 apigee-service 安装 apigee-setup 实用程序:
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    3. 使用 apigee-setup 在节点上安装和配置 Edge 组件。如需了解详情,请参阅在节点上安装边缘组件

从本地代码库在远程节点上安装 apigee-setup

您可以通过两种方法从本地代码库安装 Edge。您可以执行以下任一项操作:

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

从 .tar 文件安装

如需通过 .tar 文件进行安装,请执行以下操作

  1. 在包含本地代码库的节点上,使用以下命令将本地代码库打包到一个名为 /opt/apigee/data/apigee-mirror/apigee-4.50.00.tar.gz 的 .tar 文件中:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
  2. 将 .tar 文件复制到要在其中安装 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
  3. 在新节点上,停用 SELinux,如上所述。
  4. 在新节点上,确保您可以访问本地 Yum 实用程序仓库和 EPEL 仓库。
  5. 仔细检查所有外部互联网代码库是否已停用(由于您是在无法访问互联网的机器上进行安装,因此应该是停用的):
    sudo yum repolist

    应停用所有外部代码库,但应启用本地 Apigee 代码库和您的内部代码库。

  6. 在新节点上,从本地代码库安装 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities

    您的运维团队或贵组织中的其他群组必须设置本地代码库,您才能安装 Yum 工具。

  7. 在新节点上,按照上述说明检查您的 libdb4 版本。
  8. 如果您是在 Oracle 7.x 上安装,请运行以下命令:
    sudo yum-config-manager --enable ol7_optional_latest
  9. 如果您是在 AWS 上安装,请运行以下 yum-configure-manager 命令:
    sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
  10. 在新节点上,将文件解压缩到 /tmp 目录:
    tar -xzf apigee-4.50.00.tar.gz

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

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

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

  12. 使用 apigee-service 安装 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  13. 使用 apigee-setup 在节点上安装和配置 Edge 组件。如需了解详情,请参阅在节点上安装边缘组件

使用 Nginx 网络服务器从代码库安装

如需使用 Nginx Web 服务器从代码库安装,请执行以下操作

  1. 在代码库节点上安装 Nginx Web 服务器:
    opt/apigee/apigee-service/bin/apigee-service apigee-mirror nginxconfig
  2. 默认情况下,Nginx 配置为使用 localhost 作为服务器名称和端口 3939。如需更改这些值,请执行以下操作:
    1. 在编辑器中打开 /opt/apigee/customer/application/mirror.properties。 如果该文件不存在,请创建一个。
    2. 根据需要设置以下值:
      conf_apigee_mirror_listen_port=3939
      conf_apigee_mirror_server_name=localhost
    3. 重启 Nginx:
      /opt/nginx/scripts/apigee-nginx restart
  3. 默认情况下,代码库要求用户名:密码为 admin:admin。如需更改这些凭据,请设置以下环境变量:
    MIRROR_USERNAME=uName
    MIRROR_PASSWORD=pWord
  4. 在新节点上,安装 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  5. 在新节点上,按照上述说明停用 SELinux。
  6. 在新节点上,确保本地 EPEL 代码库已启用。
  7. 在新节点上,按照上述说明检查 libdb4 的版本。
  8. 在远程节点上,将 Edge bootstrap_4.50.00.sh 文件下载到 /tmp/bootstrap_4.50.00.sh
    curl http://uName:pWord@remoteRepo:3939/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh

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

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

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

  10. 在远程节点上,使用 apigee-service 安装 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  11. 使用 apigee-setup 在远程节点上安装和配置 Edge 组件。 如需了解详情,请参阅在节点上安装 Edge 组件

更新本地 Apigee 代码库

要更新代码库,您必须下载最新的 bootstrap_4.50.00.sh 文件,然后执行新的同步。

如需更新代码库,请执行以下操作

  1. 将 Edge bootstrap_4.50.00.sh 文件下载到 /tmp/bootstrap_4.50.00.sh
    curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
  2. 运行 Edge bootstrap_4.50.00.sh 文件:
    sudo bash/tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入该值。

  3. 更新 apigee-mirror
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror update
  4. 执行同步:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
  5. 如果您想查看整个代码库,请执行以下操作:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync

清理本地 Apigee 代码库

清理本地代码库会删除 /opt/apigee/data/apigee-mirror 和 /var/tmp/yum-apigee-*。

如需清理本地代码库,请使用以下命令:

/opt/apigee/apigee-service/bin/apigee-service apigee-mirror clean

在 4.50.00 代码库中添加或更新 Edge 4.16.0x/4.17.0x

如果您必须在 4.50.00 代码库中维护 Edge 4.16.0x 或 4.17.0x 的安装,则可以维护一个包含所有版本的代码库。然后,您可以从该代码库安装任何版本的 Edge。

如需将 4.16.0x/4.17.0x 添加到 4.50.00 代码库,请执行以下操作

  1. 确保您已安装 4.50.00 版的 apigee-mirror 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror version

    您应该会看到以下表单的结果,其中 xyz 是 build 号:

    apigee-mirror-4.50.00-0.0.xyz
  2. 使用 apigee-mirror 实用程序将 Edge 4.16.0x/4.17.0x 下载到您的代码库。请注意如何为命令添加所需版本的前缀:
    apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms

    稍后,您可以使用相同的命令通过指定所需的版本号来更新 4.16.0x/4.17.0x 代码库。

  3. 检查 /opt/apigee/data/apigee-mirror/repos 目录以查看文件结构:
    ls /opt/apigee/data/apigee-mirror/repos

    您应该会看到以下文件和目录:

    apigee
    apigee-repo-1.0-6.x86_64.rpm
    bootstrap_4.16.01.sh
    bootstrap_4.16.05.sh
    bootstrap_4.17.01.sh
    bootstrap_4.17.05.sh
    bootstrap_4.17.09.sh
    bootstrap_4.18.01.sh
    bootstrap_4.18.05.sh
    bootstrap_4.19.01.sh
    thirdparty

    请注意,您如何为所有版本的 Edge 创建引导文件。apigee 目录还包含适用于每个 Edge 版本的单独目录。

  4. 如需将代码库打包为 .tar 文件,请使用以下命令:
    apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package

    此命令将所有 4.17.0x 和 4.16.0x 代码库打包到同一个 .tar 文件中。您不能仅打包代码库的一部分。

如需从本地代码库或 .tar 文件安装 Edge,只需确保使用以下某个命令运行正确的引导文件即可。以下示例会安装 Edge 4.17.01:

  • 如果从 .tar 文件安装,请从代码库运行正确的引导文件:
    sudo bash /tmp/repos/bootstrap_4.17.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

    如需完成安装,请按照上文中的“从 .tar 文件安装”部分中的其余步骤操作。

  • 如果使用 Nginx Web 服务器进行安装,请从代码库下载并运行正确的引导文件:
    /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.01.sh -o /tmp/bootstrap_4.17.01.sh
    sudo bash /tmp/bootstrap_4.17.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

    如需完成安装,请按照上文“使用 Nginx Web 服务器从代码库安装”中的其余步骤操作。