安装 Edge apigee-setup 实用程序

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

默认安装目录:/opt/apigee

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

必备条件:停用 SELinux

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

  • 如需暂时将 SELinux 设置为宽容模式,请执行以下命令:
    • 在 Linux 8.x 操作系统上
      sudo setenforce 0

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

      sudo setenforce 1
    • 在 Linux 7.x 操作系统中
      sudo setenforce 0

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

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

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

      sudo echo 1 > /selinux/enforce
  • 如需永久停用 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 版本:

  • 对于 Red Hat Enterprise Linux (RHEL) 8.0,请参阅 RHEL 8 的先决条件

  • 对于 Red Hat/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
  • 对于 Red Hat/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
  • 对于 AWS-2:
    sudo amazon-linux-extras install epel -y
    sudo yum-config-manager --enable epel

前提条件:检查 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 版,请将其卸载。

RHEL 8 的前提条件

如果您要在运行 Red Hat Enterprise Linux (RHEL) 8 的服务器上安装 Edge,请先执行以下步骤,然后再执行安装操作:

  1. 启用 Extra Packages for Enterprise Linux (EPEL)
    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  2. 停用 Postgres 和 NGINX:
    sudo dnf module disable postgresql
    sudo dnf module disable nginx
  3. 安装 Python 2 并创建符号链接:
    sudo dnf install -y python2
    sudo ln -s /usr/bin/python2 /usr/bin/python

在具有外部互联网连接的节点上安装 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. 如果在 RHEL 8 上安装,请按照 RHEL 8 前提条件中的步骤进行操作。
  8. 如果您是在 Oracle 7.x 上安装,请运行以下命令:
    sudo yum-config-manager --enable ol7_optional_latest
  9. 如果您是在 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
  10. 将 Edge bootstrap_4.51.00.sh 文件下载到 /tmp/bootstrap_4.51.00.sh
    curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
  11. 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.51.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*'
  12. 使用 apigee-service 安装 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  13. 使用 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.51.00.sh 文件下载到 /tmp/bootstrap_4.51.00.sh
    curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
  5. 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.51.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.51.00.sh 以安装 apigee-service 实用程序:
      sudo bash /opt/apigee/data/apigee-mirror/repos/bootstrap_4.51.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 组件。如需了解详情,请参阅在节点上安装 Edge 组件

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

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

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

从 .tar 文件安装

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

  1. 在包含本地代码库的节点上,使用以下命令将本地代码库打包到一个名为 /opt/apigee/data/apigee-mirror/apigee-4.51.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.51.00.tar.gz

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

  11. /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/repos/bootstrap_4.51.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 组件。如需了解详情,请参阅在节点上安装 Edge 组件

使用 NGINX Web 服务器从代码库安装

如需使用 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.51.00.sh 文件下载到 /tmp/bootstrap_4.51.00.sh
    curl http://uName:pWord@remoteRepo:3939/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh

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

  9. 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.51.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.51.00.sh 文件,然后执行新的同步。

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

  1. 将 Edge bootstrap_4.51.00.sh 文件下载到 /tmp/bootstrap_4.51.00.sh
    curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
  2. 运行 Edge bootstrap_4.51.00.sh 文件:
    sudo bash/tmp/bootstrap_4.51.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.51.00 代码库中添加或更新 Edge 4.16.0x/4.17.0x

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

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

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

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

    apigee-mirror-4.51.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 服务器从代码库安装”中的其余步骤操作。