Edge for Private Cloud v. 4.17.09
安装概览
在节点上安装 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 堆栈,这也会安装 Tomcat。 |
|
p |
仅安装 API BaaS 门户,这也会安装要用作 Web 服务器的 Nginx 路由器。 |
|
c |
仅安装 Cassandra。 |
|
eb |
在节点上安装 ElasticSearch、API BaaS Stack 和 Tomcat。 |
|
ebp |
安装 ElasticSearch、API BaaS 门户、API BaaS 堆栈和 Tomcat,但不安装 Cassandra。 该门户非常轻量,无需为此额外配置资源。 |
|
asa |
在单个节点上安装所有 API BaaS 组件(Cassandra、Elasticsearch、API BaaS Stack、API BaaS Portal、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 SMTPMAILFROM="My Company <myco@company.com>"
如需在自己的节点上安装 API BaaS,请执行以下操作:
- 使用互联网或非互联网过程在节点上安装 Edge
apigee-setup实用程序。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。 - 在命令提示符处,运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
“-p asa”选项指定在单个节点(Cassandra、Elasticsearch、API BaaS Stack、API BaaS Portal、Tomcat)上安装所有 API BaaS 组件。
配置文件必须可供“apigee”用户访问或读取。
- 由于您在独立节点上安装了 ElasticSearch,因此请调整默认内存选项,将为 ElasticSearch 分配的内存从 4GB 增加到 6GB:
- 在编辑器中打开
/opt/apigee/customer/application/elasticsearch.properties。如果此文件不存在,请创建一个。 - 将
setenv_elasticsearch_max_mem_size属性设置为 6g(默认值为 4g):
setenv_elasticsearch_max_mem_size=6g
- 保存文件。
- 运行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- 在编辑器中打开
- 按照下文为新组织进行初始配置中的说明为组织进行初始配置。
该配置成功完成了节点上的设置。
在 7 或 10 个节点上安装 API BaaS
安装 7 节点或 10 节点版本的 API BaaS 的过程非常相似。唯一的区别在于:
- 10 节点安装:您在单独的节点上安装三个 ElasticSearch 组件和三个 API BaaS Stack 组件,总共六个节点。这是实现最高性能的推荐配置,因为 ElasticSearch 需要大量磁盘 I/O 和内存。
- 7 节点安装,您需要在同一节点上安装三个 ElasticSearch 组件和三个 API BaaS Stack 组件,总共三个节点。
对于 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 SMTPMAILFROM="My Company <myco@company.com>"
可选 - 安装 Cassandra:机器 8、9 和 10
您可以将 API BaaS 连接到 Edge 使用的同一 Cassandra 集群。如果您尚未安装 Edge,则可以选择安装 Cassandra 以供 API BaaS 使用。
Cassandra 集群可以使用身份验证,也可以停用 Cassandra 身份验证。如需了解详情,请参阅启用 Cassandra 身份验证。
- 使用互联网或非互联网过程在节点上安装 Edge
apigee-setup实用程序。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。 - 在命令提示符处,运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
“-p c”选项指定安装 Cassandra。
配置文件必须可供“apigee”用户访问或读取。
该配置会成功完成节点上的数据存储区设置。
请注意,Cassandra 默认启用 JMX。对 Cassandra 的 JMX 远程访问不需要密码。您可以将 Cassandra 配置为对 JMX 使用身份验证。如需了解详情,请参阅如何监控。
设置 Cassandra cron 作业
如果您必须安装 Cassandra,请设置一个 cron 作业,该作业使用 nodetool 每小时在每个 Cassandra 节点上运行一次,以刷新锁。
如果您有多个 Cassandra 节点,请将每个服务器上的 cron 作业偏移 5 分钟,以便所有节点不会同时刷新。
cron 作业必须执行以下命令:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
其中 IP_address 是 Cassandra 节点的 IP 地址。
安装 ElasticSearch: 机器 1、2 和 3
如需在自己的节点上安装 ElasticSearch,请执行以下操作:
- 使用互联网或非互联网过程在节点上安装 Edge apigee-setup 实用程序。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。
- 在命令提示符处,运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p e -f configFileThe "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.
- (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed
with API BaaS Stack, then adjust the default memory option to increase the memory allocated for
ElasticSearch from 4GB to 6GB:
- Open
/opt/apigee/customer/application/elasticsearch.propertiesin an editor. If this file does not exist, create it. - Set the
setenv_elasticsearch_max_mem_sizeproperty to 6g (the default is 4g):setenv_elasticsearch_max_mem_size=6g
- 保存文件。
- 运行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
该配置成功完成了节点上的设置。
安装 API BaaS 堆栈: 机器 4、5 和 6
如需在自己的节点上安装 API BaaS Stack,请执行以下操作:
- 使用互联网或非互联网过程在节点上安装 Edge apigee-setup 实用程序。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。
- 在命令提示符处,运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
“-p b”选项指定安装 API BaaS 堆栈。配置文件必须可供“apigee”用户访问或读取。
安装程序提取正确的管理员凭据后,会安装 Tomcat,创建 API BaaS 键空间,并在服务器上设置 API BaaS Stack。SMTP 也已配置为允许界面发送密码确认邮件。
安装 API BaaS 门户:机器 7
如需安装 API BaaS 门户,请执行以下操作:
- 使用互联网或非互联网过程在节点上安装 Edge apigee-setup 实用程序。如需了解详情,请参阅安装 Edge apigee-setup 实用程序。
- 在命令提示符处,运行设置脚本:
/opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
“-p p”选项指定安装 API BaaS 门户。配置文件必须可供“apigee”用户访问或读取。
安装程序会启动 Nginx Web 服务器,然后完成 API BaaS 门户配置。
- 下一步取决于您的安装方式。
- 如果 Portal 或 Stack 节点前面有负载均衡器,下一部分将介绍如何为负载均衡器配置 API BaaS。
- 如果 Portalor Stack 节点前面没有负载均衡器,请按照下文为新组织进行初始配置中的说明为组织进行初始配置。
记下 API BaaS 门户网址。这是您在浏览器中输入的网址,用于访问 API BaaS 门户界面。
为堆栈或门户负载均衡器配置 API BaaS 节点
如果您在 Stack 或 Portal 节点前面添加了负载均衡器,则必须为这些节点配置负载均衡器的正确网址。例如,在以下情况下,Stack 节点需要此信息:
- 在 BaaS API 请求的响应中包含网址。
- 在重置密码或发送其他通知时,在电子邮件模板中添加链接。
- 将用户重定向到特定门户页面。
如果您在 Stack 节点前面使用负载均衡器,请在
/opt/apigee/customer/application/usergrid.properties中设置以下属性:usergrid-deployment_usergrid.api.url.base=http://localhost:8080
将 http://localhost:8080 替换为负载均衡器的网址。如果负载均衡器配置为使用 TLS,请使用 HTTPS 协议。只有在使用非标准端口(即 HTTP 端口 80 和 HTTPS 端口 443 以外的端口)时,才需要添加端口。
如果您在 Stack 节点前面使用负载均衡器,则还必须在
/opt/apigee/customer/application/portal.properties中设置以下属性:baas.portal.config.overrideUrl=http://localhost:8080
将 http://localhost:8080 替换为 Stack 的负载均衡器的网址。
如果您在 Portal 节点前面使用负载均衡器,请在
usergrid.properties中设置以下属性:usergrid-deployment_portal.url=http://localhost:9000
将 http://localhost:9000 替换为负载均衡器的网址。如果负载均衡器配置为使用 TLS,请使用 HTTPS 协议。只有在使用非标准端口(即 HTTP 端口 80 和 HTTPS 端口 443 以外的端口)时,才需要添加端口。
修改
usergrid.properties和portal.properties后:- 配置 Stack 节点:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
- 重启 BaaS 堆栈:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- 如果您修改了
portal.properties,请配置 Portal 节点:/opt/apigee/apigee-service/bin/apigee-service baas-portal configure
- 重启 BaaS 门户:
/opt/apigee/apigee-service/bin/apigee-service baas-portal restart
初始配置新组织
初始配置是创建组织和组织管理员的过程。创建组织和组织管理员后,您可以登录 API BaaS 门户界面并向 API BaaS REST API 发出请求。
创建组织时,组织管理员的邮箱:
- 必须与系统管理员的邮箱不同。
- 必须在所有其他组织中是唯一的。也就是说,您无法为两个组织创建具有相同电子邮件地址的组织管理员。不过,在创建组织后,您可以添加其他管理员,这些管理员可以跨多个组织重复。
如需执行初始配置,请使用
create_org_and_user.pyPython 脚本。 在不使用命令行参数的情况下调用此脚本会导致它提示您输入所有信息: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>'
如需创建组织,请执行以下操作:
- 切换到
/opt/apigee/baas-usergrid/bin目录。 - 调用
create_org_and_user.pyPython 脚本。系统会提示您输入 BaaS 系统管理员用户名和密码,以便只有系统管理员可以运行该脚本。
- 在 Web 浏览器中使用您在 API BaaS 门户网址安装结束时记下的网址登录 API BaaS 门户。如需访问门户,请按以下格式输入 API BaaS 门户网址:
http://portalExternalIP:9000/
- 当门户登录界面出现时,您可以执行以下任一操作:
- 使用组织管理员的用户名和密码登录。
- 使用系统管理员的用户名和密码登录。
访问 API BaaS REST API
如需访问 API BaaS REST API,请使用以下格式的网址:
https://loadBalancerIP:8080/your-org/your-app
在开发环境中,您可以在单个节点上安装所有 API BaaS 组件,这意味着您拥有单个 API BaaS 堆栈。或者,您可能有一个小型环境,其中包含单个 API BaaS Stack 节点,没有负载均衡器。在这些类型的环境中,您可以直接对 API BaaS Stack 节点进行 API 调用:
curl -v "http://portalExternalIP:8080/status"
如需详细了解如何开始使用 API BaaS 门户,请参阅 Apigee 文档:http://apigee.com/docs/content/build-apps-home。
- Open