API BaaS 安装

适用于私有云的 Edge v. 4.17.01

安装概览

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

apigee-setup 实用程序 表单:

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

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

唯一的要求是配置文件必须可供 “apigee”用户。

例如,使用以下命令安装 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,但不安装 Cassandra。 该门户非常轻量,因此无需其他资源。

Asa

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

创建配置文件

配置文件包含安装 API BaaS 所需的所有信息。您可以 通常使用相同的配置文件来安装 BaaS 安装中的所有组件。

下面描述的每个安装拓扑都显示了该拓扑的示例配置文件。对于 有关配置文件的完整参考,请参阅 BaaS 配置文件参考

在单个节点上安装 API BaaS

下面显示了用于在单个节点上安装 API BaaS 的配置文件。将此文件修改为 。有关配置文件的完整参考,请参阅 BaaS 配置文件参考

IP1=192.168.56.101   # IP address of single node

# 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=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

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

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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

如需在自己的节点上安装 API BaaS,请执行以下操作:

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

    “-p asa”选项指定在单个节点上安装所有 API BaaS 组件 (Cassandra、Elasticsearch、API BaaS Stack、API BaaS Portal、Tomcat)。
    配置文件必须可供“apigee”访问或读取用户。
  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 重启
  4. 按照新组织的初始配置中的说明对组织进行初始配置。

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

在 7 或 10 个节点上安装 API BaaS

安装 7 节点或 10 节点版本的 API BaaS 的过程非常相似。唯一 区别在于:

  • 10 节点安装,则您需要安装三个 ElasticSearch 组件和三个 API, BaaS 堆栈组件位于单独的节点上,总共六个节点。这个 是实现最高性能的推荐配置 因为 ElasticSearch 需要大量磁盘 I/O 和内存。
  • 7 节点安装,则安装三个 ElasticSearch 组件和三个 API BaaS 将组件放在同一节点上,总共三个 节点。

对于 7 节点和 10 节点版本的 API BaaS,您都必须连接到 Cassandra 集群。如果 您已经安装了 Edge,则可以连接到其 Cassandra 集群,这意味着 在安装 API BaaS 的过程中必须安装 Cassandra。

下面显示了一个 10 节点 API BaaS 安装的静默配置文件示例。如果 您要将 ElasticSearch 和 API BaaS Stack 组件安装到相同的三个节点上, 将文件修改为:

  • IP1 和 IP4 设置为相同的 IP 地址
  • IP2 和 IP5 设置为相同的 IP 地址
  • IP3 和 IP6 设置为相同的 IP 地址

根据您的配置需要修改此文件。如需全面了解 请参阅 BaaS 配置文件参考

# 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=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# 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"

# Specify the Cassandra region.
REGION=dc-1

# 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.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=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

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# 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

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

您可以将 API BaaS 连接到 Edge 使用的同一 Cassandra 集群。如果您还没有 安装了 Edge,则可以选择安装 Cassandra 以供 API BaaS 使用。

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

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

    “-p c”选项指定安装 Cassandra。
    配置文件必须可供“apigee”访问或读取用户。

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

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

设置 Cassandra Cron 作业

如果必须安装 Cassandra,请设置一个使用 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

<ph type="x-smartling-placeholder">

如需在自己的节点上安装 ElasticSearch,请执行以下操作:

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

    “-p e”选项指定安装 ElasticSearch。
    配置文件必须可供“apigee”访问或读取用户。
  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”访问或读取用户。

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

安装 API BaaS 门户:Machine 7 个

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

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

    “-p p”选项指定安装 API BaaS 门户。
    配置文件必须可供“apigee”访问或读取用户。

    安装程序启动 Nginx 网络服务器,然后完成 API BaaS 门户 配置。
  3. 后续步骤取决于您的安装情况。
    1. 如果您在 Portalor Stack 节点前面有一个负载平衡器,请参阅下一部分 介绍了如何为负载平衡器配置 API BaaS。
    2. 如果 Portalor Stack 节点前面没有负载平衡器,请加入 初始配置中描述的以下组织: 新组织

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

配置 适用于堆栈或门户负载平衡器的 API BaaS 节点

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

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

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

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

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_portal.url=http://localhost:9000

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

修改 usergrid.propertiesportal.properties 后:

  1. 配置堆栈节点:
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 配置
  2. 重启 BaaS 堆栈:
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart

    注意:重启 BaaS 堆栈节点时,请按相同的顺序重启这些节点 它们列在 BAAS_CLUSTER_SEEDS 中。BAAS_CLUSTER_SEEDS 最多可列出 堆栈节点按顺序重启这两个节点后,您可以再重启剩余的节点 节点。

  3. 如果您修改了 portal.properties,请配置 门户节点:
    &gt; /opt/apigee/apigee-service/bin/apigee-service baas-portal configure
  4. 重启 BaaS 门户:
    &gt; /opt/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.