在节点上安装 Edge 组件

Edge for Private Cloud v. 4.16.05

在节点上安装 Edge apigee-setup 实用程序后,请使用 apigee-setup 实用程序在节点上安装一个或多个 Edge 组件。

apigee-setup 实用程序使用如下形式的命令:

> /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

其中 component 是要安装的 Edge 组件,configFile 是包含安装信息的静默配置文件。配置文件必须可供“apigee”用户访问或读取。例如,将文件放在节点的 /tmp 目录中。

例如,如需安装边缘管理服务器,请运行以下命令:

> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f /tmp/myConfig

安装注意事项

编写配置文件时,请考虑以下选项。

设置 Postgres 主备用复制

默认情况下,Edge 会在主模式下安装所有 Postgres 节点。但是,在具有多个 Postgres 节点的生产系统中,您必须将这些节点配置为使用主备用复制方式,以便在主节点发生故障时,备用节点可以继续处理流量。

您可以使用静默配置文件中的属性在安装时启用和配置主备用复制功能。或者,您也可以在安装后启用主备用复制功能。如需了解详情,请参阅为 Postgres 设置主备用复制

启用 Cassandra 身份验证

默认情况下,Cassandra 会在未启用身份验证的情况下安装。这意味着任何人都可以访问 Cassandra。您可以在安装 Edge 后启用身份验证,也可以在安装过程中启用身份验证。

您可以使用静默配置文件中的属性在安装时启用 Cassandra 身份验证。您也可以在安装后启用它。

如需了解详情,请参阅启用 Cassandra 身份验证

将路由器绑定到受保护的端口

如果要将路由器绑定到受保护的端口(例如端口号小于 1024 的端口),则必须将路由器配置为以有权访问这些端口的用户身份运行。默认情况下,路由器以用户“apigee”运行,无权访问特权端口。

如需以其他用户身份运行路由器,请执行以下操作:

  1. 以根用户身份创建文件 /opt/apigee/etc/edge-router.d/RUN_USER.sh
  2. 将以下条目添加到该文件中:
    RUN_USER=root
    如果您不想以 root 身份运行路由器,请指定有权访问该端口的用户。
  3. 保存文件。
  4. 如果您指定了除 root 以外的用户,请将文件所有者更改为该用户:
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. 重启路由器:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-router restart

指定要安装的组件

下表列出了您传递给 apigee-service 实用程序的 -p 选项的选项,用来指定要在节点上安装的组件:

组件

说明

c

仅安装 Cassandra。

zk 仅安装 ZooKeeper。

ds

安装 ZooKeeper 和 Cassandra。

仅安装 OpenLDAP。

ms

安装边缘管理服务器,该服务器还会安装边缘界面和 OpenLDAP。

如果您在配置文件中设置了 USE_LDAP_REMOTE_HOST=y,则会跳过 OpenLDAP 安装,并且管理服务器会使用安装在其他节点上的 OpenLDAP。

r

仅安装边缘路由器。

mp

仅安装 Edge Message Processor。

RMP

安装边缘路由器和消息处理器。

ui

安装 Edge 界面。

qs

仅安装 Qpid 服务器。

ps

仅安装 Postgres Server。

萨克斯

安装分析组件,即 Qpid 和 Postgres。

此选项仅适用于开发和测试,不适用于生产环境。

安装“创收”部分。

sa

独立安装 Edge,即 Cassandra、ZooKeeper、管理服务器、OpenLDAP、边缘界面、路由器和消息处理器。此选项会忽略 Edge 分析组件:Qpid 和 Postgres。

此选项仅适用于开发和测试,不适用于生产环境。

Aio

在单个节点上安装所有组件。

此选项仅适用于开发和测试,不适用于生产环境。

创建配置文件

配置文件包含安装 Edge 所需的所有信息。您通常可以使用同一配置文件在 Edge 安装中安装所有组件。

但是,在以下情况下,您必须使用不同的配置文件或修改配置文件:

  • 您要安装多个 OpenLDAP 服务器,需要在包含 13 个节点的安装过程中配置复制。每个文件的 LDAP_SIDLDAP_PEER 值都需要不同的值。
  • 您将作为 12 节点安装的一部分创建多个数据中心。每个数据中心对 ZK_CLIENT_HOSTSCASS_HOSTS 等属性的要求都不同。

示例配置文件

下图展示了 9 节点 Edge 安装的完整静默配置文件示例。根据需要为您的配置修改此文件。使用 -f 选项 setup.sh 以包含此文件。下面还显示了每个 Edge 拓扑的示例配置文件。

# IP address or DNS name of nodes.
IP1=192.168.1.1  # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Location of Edge license file.
LICENSE_FILE=/tmp/license.txt

# Management Server information.
MSIP=$IP1    # IP or DNS name of Management Server node. 
# Specify the port the Management Server listens on for API calls.
# APIGEE_PORT_HTTP_MS=8080    # Default is 8080.

#
# OpenLDAP information.
#
# Set to y if you are connecting to a remote LDAP server. 
# If n, Edge installs OpenLDAP when it installs the Management Server.
USE_LDAP_REMOTE_HOST=n 

# If connecting to remote OpenLDAP server, specify the IP/DNS name and port.
# LDAP_HOST=$IP1    # IP or DNS name of OpenLDAP node.
# LDAP_PORT=10389   # Default is 10389.
APIGEE_LDAPPW=yourLdapPassword

# Specify OpenLDAP without replication, 1, or with replication, 2.
LDAP_TYPE=1 

# Set only if using replication.
# LDAP_SID=1    # Unique ID for this LDAP server. 
# LDAP_PEER=    # IP or DNS name of LDAP peer.

BIND_ON_ALL_INTERFACES=y 

# The Message Processor and Router pod.
MP_POD=gateway 

# The name of the region, corresponding to the data center name.
REGION=dc-1 # Use dc-1 unless installing in a 
            # multi-data center environment. 

# ZooKeeper information.
# See table below if installing in a multi-data center environment.
ZK_HOSTS="$IP1 $IP2 $IP3"         # IP/DNS names of all ZooKeeper nodes. 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"  # IP/DNS names of all ZooKeeper nodes.

# Cassandra information.
CASS_CLUSTERNAME=Apigee    # Default name is Apigee.

# IP addresses of the Cassandra hosts separated by spaces.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Set to enable Cassandra authentication.
# CASS_AUTH=y    # The default value is n.
# Cassandra uname/pword required if you enabled Cassandra authentication.
# CASS_USERNAME=
# CASS_PASSWORD=

# Use to enable Postgres master-standby replication
# when you have multiple Postgres nodes. 
# PG_MASTER=IPorDNSofNewMaster
# PG_STANDBY=IPorDNSofOldMaster

# SMTP information.
SKIP_SMTP=n       # Skip now and configure later by specifying "y".
SMTPHOST=smtp.gmail.com
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPPORT=465      # If no SSL, use a different port, such as 25.

下表包含有关这些属性的更多信息:

属性

备注

IP/DNS 名称

指定节点的 IP 地址时,请勿使用映射到 127.0.0.1 的主机名或 127.0.0.1 的 IP 地址。

ADMIN_EMAIL
APIGEE_ADMINPW

系统管理员的密码必须至少包含 8 个字符,并且包含 1 个大写字母、1 个小写字母、1 个数字或 1 个特殊字符。如果您省略密码,系统会提示您输入密码。

LICENSE_FILE

许可文件的位置,必须可供“apigee”用户访问。例如,将其存储在 /tmp 目录下,并在该文件上执行 chmod 777 操作。该文件会被复制到 Edge 安装目录。

USE_LDAP_REMOTE_HOST
LDAP_HOST
LDAP_PORT

如果 USE_LDAP_REMOTE_HOST 为 n,则 Edge 会在安装管理服务器时自动安装 OpenLDAP。

如果您要连接到远程 LDAP 服务器,请将 USE_LDAP_REMOTE_HOST 设置为 y。管理服务器未安装 OpenLDAP。

如果要连接到远程 OpenLDAP 服务器,请使用 LDAP_HOST
和 LDAP_PORT 指定主机的 IP 地址或 DNS 名称和端口号。

LDAP_TYPE
LDAP_SID
LDAP_PEER

为不复制的 OpenLDAP 设置 LDAP_TYPE=1。LDAP_TYPE=2 对应于具有复制功能的 OpenLDAP。

如果您的边缘拓扑使用单个 OpenLDAP 服务器,请指定 1。如果您的 Edge 安装使用多个 OpenLDAP 节点(例如在 13 个节点的生产安装中),请指定 2。

如果启用复制功能,请设置以下属性:

  • LDAP_SID=1 - 该 LDAP 服务器的唯一 ID。每个 LDAP 节点都使用不同的 ID。 例如,对于 LDAP 对等端,应设置为 2。
  • LDAP_PEER=10.0.0.1 - LDAP 对等方的 IP 或 DNS 名称。

BIND_ON_ALL_INTERFACES

如果设置为“y”,则路由器/消息处理器会在所有接口 (IP) 上绑定(监听)。 如果设置为“n”,则路由器/消息处理器将绑定(监听)特定接口(即“hostname -i”命令返回的 IP)。

MP_POD

指定消息处理器和路由器 Pod 的名称。默认情况下,名称为“网关”。

区域

区域名称。按照惯例,名称通常采用 dc-# 格式,其中 # 表示整数值。例如 dc-1、dc-2 等。除非安装在多数据中心环境中,否则您可以使用 dc-1。

如果使用多个数据中心,则该值为 dc-1 或 dc-2 等,具体取决于您要安装的数据中心。不过,您不限于仅使用 dc-# 格式的名称。您可以为区域使用任何名称。

ZK_HOSTS

ZooKeeper 节点的 IP 地址或 DNS 名称。在所有 ZooKeeper 节点上,IP 地址或 DNS 名称必须按相同的顺序列出。

在多数据中心环境中,列出两个数据中心的所有 ZooKeeper 节点。

仅当按照 12 个主机的安装说明创建多个数据中心时,才能在 ZooKeeper 节点上指定“:observer”修饰符。在单个数据中心安装中,请省略该修饰符。如需了解详情,请参阅 12 主机集群安装

ZK_CLIENT_HOSTS

此数据中心使用的 ZooKeeper 节点的 IP 地址或 DNS 名称。在所有 ZooKeeper 节点上,IP 地址或 DNS 名称必须按相同的顺序列出。

在单个数据中心安装中,这些节点与 ZK_HOSTS 指定的节点相同。

在多数据中心环境中,仅列出此数据中心中的 ZooKeeper 节点。如需了解详情,请参阅 12 主机集群安装

CASS_HOSTS

Cassandra 节点的 IP 地址(而非 DNS 名称)。前两个节点将用作种子服务器。IP 地址必须在所有 Cassandra 节点上按相同的顺序列出。

Cassandra 节点可以有一个可选的“:dc,ra”后缀,用于指定 Cassandra 节点的数据中心和机架。请仅在创建多个数据中心时指定此修饰符(如 12 个主机的安装中所述)。在单个数据中心安装中,请省略该修饰符。

例如,“192.168.124.201:1,1 = 数据中心 1 和机架/可用区 1”,“192.168.124.204:2,1 = 数据中心 2 和机架/可用性可用区 1”。

在多数据中心环境中,为了克服防火墙问题,必须按某种方式对 CASS_HOSTS 进行排序(如上例所示),以便将当前数据中心的节点置于开头。如需了解详情,请参阅 12 主机集群安装

CASS_AUTH
CASS_USERNAME

CASS_PASSWORD

如果您启用了 Cassandra 身份验证 (CASS_AUTH=y),则可以使用这些属性传递 Cassandra 用户名和密码。

PG_MASTER

PG_STANDBY

设置为启用 Postgres 主备用复制,格式如下:

PG_MASTER=IPorDNSofNewMaster

PG_STANDBY=IPorDNSofOldMasterIPorDNSofOldMaster

SKIP_SMTP
SMTPHOST
SMTPUSER
SMTPPASSWORD
SMTPSSL
SMTPPORT

配置 SMTP,以便 Edge 可以在丢失密码和其他通知时发送电子邮件。

如果不需要 SMTP 用户凭据,请省略 SMTPUSERSMTPPASSWORD

组件安装顺序

组件安装顺序取决于所需拓扑。

下面显示的所有安装示例均假定您正在安装:

  • 停用 Cassandra 身份验证(默认)。如需了解详情,请参阅启用 Cassandra 身份验证
  • 停用 Postgres 主备用复制功能(默认)。如需了解详情,请参阅为 Postgres 设置主备用复制
  • 消息处理器和路由器位于同一节点上。如果您在不同节点上安装消息处理器和路由器,请先安装所有消息处理器,然后安装所有路由器。

安装日志文件

默认情况下,setup.sh 实用程序会将关于安装的日志信息写入:

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

如果运行 setup.sh 实用程序的用户没有该目录的访问权限,它会将日志作为名为 setup.sh 的文件写入 setup.sh 目录。

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

一站式安装

  1. 使用以下命令在单个节点上安装所有组件:
    > /opt/apigee/apigee-setup/bin/setup.sh -p aio -f configFile
  2. 删除 /opt/nginx/conf.d 中的任何文件:
    > rm -f /opt/nginx/conf.d/*
  3. 重启 Edge Router 路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  4. 按照测试安装中的说明测试安装情况。
  5. 按照对组织进行初始配置中的说明对组织进行初始配置。

下面显示了此拓扑的静默配置文件:

# With SMTP
IP1=IPorDNSnameOfNode
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1
LDAP_TYPE=1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1"
ZK_CLIENT_HOSTS="$IP1"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd    
# omit for no password
SMTPSSL=n
SMTPPORT=25

双主机独立安装

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

  1. 安装独立网关和节点 1
    > /opt/apigee/apigee-setup/bin/setup.sh -p sa -f configFile
  2. 在节点 1 上:
    1. 删除 /opt/nginx/conf.d 中的所有文件:
      > rm -f /opt/nginx/conf.d/*
    2. 重启 Edge Router 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  3. 在节点 2 上安装 Analytics:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile
  4. 按照测试安装中的说明测试安装情况。
  5. 按照对组织进行初始配置中的说明对组织进行初始配置。

下面显示了此拓扑的静默配置文件:

# With SMTP
IP1=IPorDNSnameOfNode1
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1
LDAP_TYPE=1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1"
ZK_CLIENT_HOSTS="$IP1"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd    
# omit for no password
SMTPSSL=n
SMTPPORT=25

5 主机集群安装

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

  1. 在节点 1、2 和 3 上安装 Datastore 集群:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在节点 1 上安装管理服务器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在节点 2 和 3 上:
    1. 安装路由器和消息处理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 删除 /opt/nginx/conf.d 中的所有文件:
      > rm -f /opt/nginx/conf.d/*
    3. 重启 Edge Router 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  4. 在节点 4 和 5 上安装 Analytics:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile
  5. 按照测试安装中的说明测试安装情况。
  6. 按照对组织进行初始配置中的说明对组织进行初始配置。

下面显示了此拓扑的静默配置文件:

# With SMTP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com 
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1 $IP2 $IP3" 
PG_MASTER=$IP4
PG_STANDBY=$IP5
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd       
# omit for no password 
SMTPSSL=n
SMTPPORT=25

9 个主机的集群安装

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

  1. 在节点 1、2 和 3 上安装 Datastore 集群节点:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在节点 1 上安装 Apigee Management Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在节点 4 和 5 上:
    1. 安装路由器和消息处理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 删除 /opt/nginx/conf.d 中的所有文件:
      > rm -f /opt/nginx/conf.d/*
    3. 重启 Edge Router 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  4. 在节点 6 和 7 上安装 Apigee Analytics Qpid Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  5. 在节点 8 和 9 上安装 Apigee Analytics Postgres Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  6. 按照测试安装中的说明测试安装情况。
  7. 按照对组织进行初始配置中的说明对组织进行初始配置。

下面显示了此拓扑的静默配置文件:

# With SMTP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com 
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1 $IP2 $IP3" 
SKIP_SMTP=n
PG_MASTER=$IP8
PG_STANDBY=$IP9
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd       
# omit for no password
SMTPSSL=n
SMTPPORT=25

13 个主机的集群安装

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

  1. 在节点 1、2 和 3 上安装 Datastore 集群节点:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在节点 4 和 5 上安装 OpenLDAP:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ld -f configFile
  3. 在节点 6 和 7 上安装 Apigee Management Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  4. 在节点 8 和 9 上安装 Apigee Analytics Postgres Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  5. 在节点 10 和 11 上:
    1. 安装路由器和消息处理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 删除 /opt/nginx/conf.d 中的所有文件:
      > rm -f /opt/nginx/conf.d/*
    3. 重启 Edge Router 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  6. 在节点 12 和 13 上安装 Apigee Analytics Qpid Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  7. 按照测试安装中的说明测试安装情况。
  8. 按照对组织进行初始配置中的说明对组织进行初始配置。

下面显示了此拓扑的静默配置文件:

# For all components except OpenLDAP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com 
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
# First Management Server on IP6
MSIP=$IP6 
USE_LDAP_REMOTE_HOST=y
LDAP_HOST=$IP4
LDAP_PORT=10389
# Second Management Server on IP7
# MSIP=$IP7
# USE_LDAP_REMOTE_HOST=y
# LDAP_HOST=$IP5
# LDAP_PORT=10389
# Same password for both OpenLDAPs.
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1 $IP2 $IP3" 
PG_MASTER=$IP8
PG_STANDBY=$IP9
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd       
# omit for no password
SMTPSSL=n
SMTPPORT=25
# For OpenLDAP on IP4 and IP5
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com 
APIGEE_ADMINPW=Secret123
# First OpenLDAP Server on IP4
MSIP=$IP6 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP5
# Second OpenLDAP Server on IP5
# MSIP=$IP7 
# USE_LDAP_REMOTE_HOST=n 
# LDAP_TYPE=2
# LDAP_SID=2
# LDAP_PEER=$IP4
# Set same password for both OpenLDAPs.
APIGEE_LDAPPW=secret 

12 个主机的集群安装

在具有 12 个主机的集群拓扑(两个数据中心)上安装 Edge 之前,您必须了解如何在静默配置文件中设置 ZooKeeper 和 Cassandra 属性。

  • ZooKeeper

    对于两个数据中心的 ZK_HOSTS 属性,按相同顺序指定两个数据中心中所有 ZooKeeper 节点的 IP 地址或 DNS 名称,并使用“:observer”修饰符标记所有节点。没有“:observer”修饰符的节点称为“投票者”。您的配置中的“投票者”数量必须为奇数。

    在此拓扑中,主机 9 上的 ZooKeeper 主机是观察者:

    对于每个数据中心的 ZK_CLIENT_HOSTS 属性,请以相同的顺序为数据中心中的所有 ZooKeeper 节点,仅指定数据中心内 ZooKeeper 节点的 IP 地址或 DNS 名称。在如下所示的示例配置文件中,节点 9 使用“:observer”修饰符标记,因此您有五个投票者:节点 1、2、3、7 和 8。
  • Cassandra
    所有数据中心都必须拥有相同数量的 Cassandra 节点。

    对于每个数据中心的 CASS_HOSTS,请确保为这两个数据中心指定所有 Cassandra IP 地址(而不是 DNS 名称)。对于数据中心 1,首先列出该数据中心中的 Cassandra 节点。对于数据中心 2,首先列出该数据中心中的 Cassandra 节点。对于数据中心内的所有 Cassandra 节点,请按照相同的顺序列出 Cassandra 节点。

    所有 Cassandra 节点都必须带有后缀“:<d>,<r>”,例如“<ip>:1,1 = 数据中心 1 和机架/可用性可用区 1”和“<ip>:2,1 = 数据中心 2 和机架/可用性可用区 1”。
    例如,“192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.4.168.1 中使用该节点的各节点。



    在此部署模型中,Cassandra 设置将如下所示:

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

  1. 在节点 1、2、3、7、8 和 9 上安装 Datastore 集群节点:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在节点 1 和 7 上安装具有 OpenLDAP 复制的 Apigee Management Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在节点 2、3、8 和 9 上:
    1. 安装路由器和消息处理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 删除 /opt/nginx/conf.d 中的所有文件:
      > rm -f /opt/nginx/conf.d/*
    3. 重启 Edge Router 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-router restart
  4. 在节点 4、5、10 和 11 上安装 Apigee Analytics Qpid Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  5. 在节点 6 和 12 上安装 Apigee Analytics Postgres Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  6. 按照测试安装中的说明测试安装情况。
  7. 按照对组织进行初始配置中的说明对组织进行初始配置。

下面显示了此拓扑的静默配置文件。请注意以下配置文件:

  • 通过在两个 OpenLDAP 节点之间进行复制来配置 OpenLDAP。
  • 在一个 ZooKeeper 节点上指定“:observer”修饰符。在单个数据中心安装中,请省略该修饰符。
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
IP12=IPorDNSnameOfNode12 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@apigee.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
PG_MASTER=$IP6
PG_STANDBY=$IP12
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
# omit for no username
SMTPPASSWORD=smtppwd   
# omit for no password
SMTPSSL=n
SMTPPORT=25
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
IP12=IPorDNSnameOfNode12
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@apigee.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
PG_MASTER=$IP6
PG_STANDBY=$IP12
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
# omit for no username
SMTPPASSWORD=smtppwd   
# omit for no password
SMTPSSL=n
SMTPPORT=25