适用于私有云的 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,请执行以下操作:
- 使用 或非互联网程序。如需了解更多详情,请参阅安装 Edge apigee-setup 实用程序。 。
- 在命令提示符下,运行设置脚本:
> /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”访问或读取用户。 - 由于您在独立节点上安装了 ElasticSearch,请调整默认内存
将分配给 ElasticSearch 的内存从 4GB 增加到 6GB 的选项:
<ph type="x-smartling-placeholder">
- </ph>
- 在以下位置打开 /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 重启
- 按照新组织的初始配置中的说明对组织进行初始配置。
配置会成功完成节点上的设置。
在 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 身份验证: 。
- 使用 或非互联网过程。如需了解更多详情,请参阅安装 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,请设置一个使用 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,请执行以下操作:
- 在使用互联网或非互联网的节点上安装 Edge apigee-setup 实用程序 过程。请参阅安装 Edge apigee-setup 实用程序。
- 在命令提示符下,运行设置脚本:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
“-p e”选项指定安装 ElasticSearch。
配置文件必须可供“apigee”访问或读取用户。 - (可选)如果您在独立节点上安装 ElasticSearch,这意味着它未安装
,然后调整默认内存选项,以增加分配给
ElasticSearch 从 4GB 增加到 6GB:
<ph type="x-smartling-placeholder">
- </ph>
- 打开 /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 重启
配置会成功完成节点上的设置。
安装 API BaaS 堆栈: 机器 4、5 和 6
如需在自己的节点上安装 API BaaS 堆栈,请执行以下操作:
- 在使用互联网或非互联网的节点上安装 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 堆栈。SMTP 也配置为允许 发送密码确认电子邮件的界面。
安装 API BaaS 门户:Machine 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 网络服务器,然后完成 API BaaS 门户 配置。 - 后续步骤取决于您的安装情况。
- 如果您在 Portalor Stack 节点前面有一个负载平衡器,请参阅下一部分 介绍了如何为负载平衡器配置 API BaaS。
- 如果 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.properties和 portal.properties 后:
- 配置堆栈节点:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 配置 - 重启 BaaS 堆栈:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
注意:重启 BaaS 堆栈节点时,请按相同的顺序重启这些节点 它们列在 BAAS_CLUSTER_SEEDS 中。BAAS_CLUSTER_SEEDS 最多可列出 堆栈节点按顺序重启这两个节点后,您可以再重启剩余的节点 节点。
- 如果您修改了 portal.properties,请配置
门户节点:
> /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.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>'
如需创建组织,请执行以下操作:
- 将目录更改为 /opt/apigee/baas-usergrid/bin。
- 调用 create_org_and_user.py Python 脚本。
系统会提示您输入 BaaS 系统管理员用户名和密码,以便系统 管理员即可运行 - 在网络浏览器中,使用您在
API BaaS 门户网址安装。如需访问该门户,请在此输入
格式如下:
http://{portalExternalIP}:9000/
注意:IP 是门户机器的外部 IP 地址/主机名。确保 该端口已打开 - 门户登录屏幕出现时,您可以执行以下任一操作:
<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.