安装 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 6.x 操作系统中
      sudo echo 0 > /selinux/enforce

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

      sudo echo 1 > /selinux/enforce
    • 在 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=enabled 以重新启用 SELinux。

前提条件:启用 EPEL 代码库

您必须启用适用于企业 Linux(或 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

在具有外部互联网连接的节点上安装 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.52.02.sh 文件下载到 /tmp/bootstrap_4.52.02.sh
    curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
  11. 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.52.02.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 组件。如需了解详情,请参阅在节点上安装 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 节点位于防火墙后面,或通过其他方式被禁止访问互联网,则您必须创建多个代码库(即镜像),其中包含安装过程中所需的文件。然后,这些镜像必须可供所有节点访问。创建完成后,节点可以访问这些本地镜像以安装 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.52.02.sh 文件下载到 /tmp/bootstrap_4.52.02.sh
    curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
  5. 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/bootstrap_4.52.02.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。

  8. (可选)如果要将来自本地代码库的 Edge 安装到托管本地代码库的节点上,需要先运行以下命令:
    1. 从本地代码库运行 bootstrap_4.52.02.sh 以安装 apigee-service 实用程序:
      sudo bash /opt/apigee/data/apigee-mirror/repos/bootstrap_4.52.02.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.52.02.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.52.02.tar.gz

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

  11. /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
    sudo bash /tmp/repos/bootstrap_4.52.02.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 网络服务器从代码库安装

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

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

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

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

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

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

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

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

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

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

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