安装了 7 个主机和 10 个主机的 API BaaS

适用于私有云的 Edge v. 4.16.05

使用负载平衡器

API BaaS 的生产环境安装在 API BaaS 门户节点之间使用负载平衡器 和 API BaaS 栈节点在配置门户时,您需要指定 而不是堆栈节点的节点

您也可以使用轮循 DNS 来替代负载平衡器。在这种情况下 创建一个 DNS 条目,其中包含多条与 BaaS 栈 IP 地址对应的 A 记录。DNS 期间 DNS 服务器会自动以轮循方式返回 A 记录值。

连接到 Cassandra

安装 BaaS 时,您可以选择将 BaaS 和 Edge 连接到同一 Cassandra 集群, 或者为 BaaS 创建单独的 Cassandra 集群。更小的 BaaS 安装 通常与 Edge 共享 Cassandra 集群。

为实现高吞吐量和可用性,或者将 Cassandra 集群分隔到不同的 因此 Apigee 建议您使用单独的 Cassandra 集群。单独的集群 如果您在 BaaS 上遇到高流量负载,则可以最大限度地提升性能。

日期同步

您必须同步所有服务器上的日期/时间。如果尚未配置 “ntpdate”实用程序可以用于此目的,验证服务器是否 已同步。您可以使用“yum install ntp”来安装该实用程序。

Tomcat 安全性

API BaaS 安装程序还会在所有 API BaaS Stack 节点上安装 Apache Tomcat 服务器, 包括 Tomcat 管理员界面。安装程序保留默认管理员凭据 与 admin:admin 相比没有变化。

如有必要,您可以在保护 Tomcat 的过程中更改这些凭据。有关 信息,请参阅:

安装概览

在节点上安装 Edge apigee-setup 实用程序后,使用 实用程序在节点上安装一个或多个 BaaS 组件。apigee-setup 实用程序采用以下格式:

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

将配置文件传递给 apigee-setup 实用程序,其中包含 有关安装的信息如果配置文件缺少任何必需的 apigee-setup 实用程序会提示您在命令行中输入代码。

唯一的要求是配置文件必须可供 “apigee”用户。例如,将文件放在节点上的 /tmp 目录中。

例如,使用以下命令安装 API BaaS 堆栈:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Apigee setup.sh 实用程序 支持多种 API BaaS 组件安装选项。以下说明使用 独立的选项(c、e、b 和 p),但您可以根据节点使用不同的选项 配置:

选项

说明

e

仅安装 ElasticSearch。

b

仅安装 API BaaS Stack,这也会安装 Tomcat。

p

仅安装 API BaaS 门户,这还会安装 Nginx 路由器以用作 Web 服务器。

c

仅安装 Cassandra。

eb

在节点上安装 ElasticSearch、API BaaS Stack 和 Tomcat。

ebp

安装 ElasticSearch、API BaaS 门户、API BaaS Stack 和 Tomcat。传送门是这样 轻量级,无需额外的资源。

Asa

在单个节点上安装所有 API 组件(Cassandra、Elasticsearch、API BaaS Stack、 和 API BaaS 门户)。此选项仅适用于开发和测试, 生产环境。

创建静默配置 文件

下面显示了一个 10 节点 API BaaS 安装的静默配置文件示例。修改 此文件以满足您的配置需要。使用 -f 选项通过 setup.sh 添加此文件。

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

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

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

下表包含有关这些属性的其他信息:

属性

备注

CASS_HOSTS

如果您要安装 Cassandra,请指定 Cassandra 节点 IP(而非 DNS 名称)并 添加“:dc,ra”修饰符,指定 Cassandra 节点。

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

CASS_USERNAME
CASS_PASSWORD

Cassandra 用户名和密码。

如果 Cassandra 身份验证已停用,您仍然需要传递这些值。不过, 这些值会被忽略。

BAAS_CASS_LOCALDC

区域名称必须采用 dc-# 格式,其中 # 对应于一个整数值。

例如 dc-1、dc-2 等。如果您要连接到已安装的 Cassandra 集群 对于 Edge,您可以要求 Edge 系统管理员提供此值。在 Edge 单曲中 则默认值为 dc-1。

如果您在安装 API BaaS 的过程中安装了 Cassandra,那么 您向 Cassandra IP 地址添加了“:dc,ra”修饰符。 第一个值“dc”是数据中心编号。数据中心名称是字符串“dc-” 并以数据中心编号作为后缀

BAAS_CASS_REPLICATION

格式为“dataCenterName:#CassandraNodes”。 例如,对于具有三个 Cassandra 节点的 dc-1,其优先级为 dc-1:3。

BAAS_USERGRID_URL

在生产环境中,这是本地负载平衡器 API BaaS 堆栈节点前面,格式为:

http://myStackLoadBalancer:8443

在测试或开发环境中,您只有一个 API BaaS 堆栈 节点,可以是 API BaaS 堆栈节点的网址和端口号,格式为:

http://stackIPorDNS:8080

API BaaS Stack 服务器的端口号为 8080。

BAAS_PORTAL_URL

负载平衡器的网址和端口号(如果门户前面有负载平衡器)。 格式为:

http://myPortalLoadBalancer:8443

如果没有负载平衡器,则为门户节点的网址和端口号(位于 表单:

http://portalIPorDNS:9000

默认情况下,API BaaS 门户的端口号为 9000。

BAAS_PORTAL_LISTEN_PORT

API BaaS Portal 服务器的端口号为 9000。如果此端口不可用, 指定其他端口

如果您将 BAAS_PORTAL_URL 设置为 门户节点,这两个媒体资源的端口号必须相同。

可选 - 安装 Cassandra:Machine 8、Machine 9 和 10

虽然您可以将 API BaaS 连接到 Edge 使用的 Cassandra 集群,但 Apigee 建议您使用单独的集群

Cassandra 集群可以使用身份验证,也可以停用 Cassandra 身份验证。请参阅 为以下账号启用 Cassandra 身份验证: 。

  1. 使用 或非互联网过程。如需了解更多详情,请参阅安装 Edge apigee-setup 实用程序。 。
  2. 在命令提示符下,运行设置脚本:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    “-p c”选项指定安装 Cassandra。
    配置文件必须可供“apigee”访问或读取用户。例如,将 节点上 /tmp 目录中的文件。

配置会成功完成节点上的数据存储区设置。

请注意,Cassandra 默认启用 JMX。对 Cassandra 的 JMX 远程访问 需要密码。您可以将 Cassandra 配置为使用 JMX 身份验证。有关详情,请参阅 如何监控

设置 Cassandra Cron 作业

设置一项使用 nodetool 刷新锁以每小时运行的 Cron 作业 每个 Cassandra 节点上运行。

如果您有多个 Cassandra 节点,请将每个服务器上的 Cron 作业偏移五分钟, 不会同时清空所有节点

Cron 作业必须执行以下命令:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

其中 IP_address 是 Cassandra 节点的 IP 地址。IP_address

安装 ElasticSearch:机器 1、2 和 3

如需安装 ElasticSearch,请执行以下操作:

  1. 在使用互联网或非互联网的节点上安装 Edge apigee-setup 实用程序 过程。请参阅安装 Edge apigee-setup 实用程序
  2. 在命令提示符下,运行设置脚本:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f 配置文件

    “-p e”选项指定安装 ElasticSearch。
    配置文件必须可供“apigee”访问或读取用户。例如,将 节点上 /tmp 目录中的文件。
  3. (可选)如果您在独立节点上安装 ElasticSearch,这意味着它未安装 ,然后调整默认内存选项,以增加分配给 ElasticSearch 从 4GB 增加到 6GB: <ph type="x-smartling-placeholder">
      </ph>
    1. 打开 /opt/apigee/customer/application/elasticsearch.properties 。如果此文件不存在,请创建它。
    2. 设置 setenv_elasticsearch_max_mem_size 属性设置为 6g(默认为 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. 保存文件。
    4. 运行以下命令:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch 重启

配置会成功完成节点上的设置。

安装 API BaaS 堆栈:机器 4、5 和 6

如需安装 API BaaS 堆栈,请执行以下操作:

  1. 在使用互联网或非互联网的节点上安装 Edge apigee-setup 实用程序 过程。请参阅安装 Edge apigee-setup 实用程序
  2. 在命令提示符下,运行设置脚本:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f <配置文件>configFile

    “-p b”选项指定安装 API BaaS 堆栈。
    配置文件必须可供“apigee”访问或读取用户。例如,将 节点上 /tmp 目录中的文件。

安装程序提取正确的管理员凭据后,会安装 Tomcat 并创建 API BaaS 键空间,并在服务器上设置 API BaaS 堆栈。SMTP 也配置为允许 发送密码确认电子邮件的界面。

安装 API BaaS 门户:机器 7

如需安装 API BaaS 门户,请执行以下操作:

  1. 在使用互联网或非互联网的节点上安装 Edge apigee-setup 实用程序 过程。请参阅安装 Edge apigee-setup 实用程序
  2. 在命令提示符下,运行设置脚本:
    &gt;/opt/apigee/setup/bin/setup.sh -p p -f 配置文件configFile

    “-p p”选项指定安装 API BaaS 门户。
    配置文件必须可供“apigee”访问或读取用户。例如,将 节点上 /tmp 目录中的文件。

安装程序启动 Nginx 网络服务器,然后完成 API BaaS 门户 配置。

记下 API BaaS 门户网址。这是您在浏览器中输入的网址,用于访问 API BaaS 门户界面。

为堆栈配置 API BaaS 节点 或门户负载平衡器

如果您在堆栈节点或门户节点前添加了负载平衡器,则必须配置 将节点替换为正确的负载平衡器网址例如,堆栈节点要求 信息:

  • 在 BaaS API 请求的响应中包含网址。
  • 在重置密码或发送其他电子邮件模板时,在电子邮件模板中添加链接。 通知。
  • 将用户重定向到特定的门户页面。

如果您在堆栈节点前面使用负载平衡器,请在 /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

http://localhost:8080 替换为加载网址的网址 进行负载均衡。如果负载平衡器配置为使用 TLS,请使用 HTTPS 协议。仅您本人 如果您使用的是非标准端口(即端口以外的其他端口),则需要包含该端口。 HTTP 为 80,HTTPS 为端口 443。

如果满足以下条件,您还必须在 /opt/apigee/customer/application/portal.properties 中设置以下属性: 您在堆栈节点前使用负载平衡器:

baas.portal.config.overrideUrl=http://localhost:8080

http://localhost:8080 替换为 进行负载均衡

如果您在门户节点前面使用负载平衡器,请设置以下属性 在 usergrid.properties 中:

usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

http://localhost:9000 替换为 进行负载均衡器如果负载平衡器配置为使用 TLS,请使用 HTTPS 协议。您 只有在您使用非标准端口(也就是 HTTP 端口 80 和 HTTPS 端口 443

修改 usergrid.propertiesportal.properties 后:

  1. 配置堆栈节点:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. 将更改部署到 Tomcat:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 部署
  3. 重启 BaaS 堆栈:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid restart
  4. 如果您修改了 portal.properties,请配置 门户节点:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configure
  5. 部署更改:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal 部署
  6. 重启 BaaS 门户:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal restart

新组织入职培训

入职培训是创建组织和组织管理员的过程。更新后 创建组织和组织管理员,则可以登录 API BaaS 门户 然后向 API BaaS REST API 发出请求。

创建组织时,组织管理员的电子邮件地址:

  • 必须不同于系统管理员的电子邮件地址。
  • 在所有其他组织中必须是唯一的。也就是说,您不能创建两个组织 与组织管理员相同的电子邮件地址。不过,在创建 您可以添加其他管理员,以便 组织。

要执行初始配置,请使用 create_org_and_user.py Python 脚本。 在不使用命令行参数的情况下调用此脚本会导致它提示您输入所有 信息:

> python create_org_and_user.py

或者,您也可以将任意或所有选项作为命令行参数传递。系统会提示您 从命令行省略的任何信息:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

如需创建组织,请执行以下操作:

  1. 将目录更改为 /opt/apigee/baas-usergrid/bin
  2. 调用 create_org_and_user.py Python 脚本。
    系统会提示您输入 BaaS 系统管理员用户名和密码,以便系统 管理员即可运行
  3. 在网络浏览器中,使用您在 API BaaS 门户网址安装。如需访问该门户,请在此输入 格式如下:
    http://{portalExternalIP}:9000/

    注意:IP 是门户机器的外部 IP 地址/主机名。确保 该端口已打开
  4. 门户登录屏幕出现时,您可以执行以下任一操作: <ph type="x-smartling-placeholder">
      </ph>
    • 使用组织管理员的用户名和密码登录。
    • 使用系统管理员的用户名和密码登录。

访问 API BaaS REST API

如需访问 API BaaS REST API,请使用以下形式的网址:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

在开发环境中,您可以在单个节点上安装所有 API BaaS 组件, 这意味着你只有一个 API BaaS 堆栈。或者,您可能有一个小型环境 API BaaS 栈节点,没有负载平衡器。在这类环境中 直接提交到 API BaaS Stack 节点:

curl -v "http://portalExternalIP:8080/status"

如需详细了解如何开始使用 API BaaS 门户,请参阅 Apigee 文档: http://apigee.com/docs/content/build-apps-home.