可以使用多种方法在 Amazon Web Services (AWS) 上部署 ArcGIS Enterprise 和 ArcGIS Server。本主题将介绍如何解决每个部署选项可能遇到的问题。
ArcGIS Enterprise Cloud Builder for Amazon Web Services 疑难解答
在 Logs 文件夹下提取了 ArcGIS Enterprise Cloud Builder for Amazon Web Services 及其关联文件的位置有两个文件夹。
Logs 文件夹包含以下两个子文件夹:
- Log - 此文件夹包含控制台日志,每次运行实用程序时都会创建该日志。Log 文件夹还包含每次使用 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序运行 CREATE 或在 ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程序中添加部署时所创建的每个堆栈的 CloudFormation 事件日志。
- ErrorLog - 此文件夹包含日志文件,用于记录运行 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序或 ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程序时发生的所有错误。请阅读这些错误日志以进行有效的故障排除。
有关运行 Cloud Builder 应用程序或 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序时可能遇到的特定错误的信息,请参阅以下两个部分。应用程序和实用程序均启动 CloudFormation 堆栈,因此您还应该阅读有关解决 CloudFormation 堆栈创建相关问题的部分,以帮助识别和纠正部署问题。
运行 ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程序时遇到的错误
ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程序会验证您在使用该应用程序时提供的许多值。其他信息将在上一节中提到的日志文件位置提供。
我收到一条消息,显示我的域名无效。
有几个原因可能会导致 Cloud Builder 无法验证域名,但最可能的原因将与域名服务器 (DNS) 中域名丢失或映射不正确有关。例如,域名可能未在 DNS 内映射,或者可能映射不正确。
确保您提供的域名解析为 CNAME 或 DNS 中的记录。要检查您在 Cloud Builder 中提供的域名是否正确映射,请在您运行 Cloud Builder 应用程序的同一计算机上使用 Microsoft Windows 命令提示符中的 nslookup 命令。
如果您认为域名映射正确,请尝试清除运行 Cloud Builder 的计算机上的本地 DNS 缓存,然后再次在 Cloud Builder 应用程序中验证域名。
如果仍未验证域名,请联系 IT 管理员获取进一步支持。
我的部署创建失败。
如果 Cloud Builder 应用程序无法创建您的部署,则 Cloud Builder 工作完成页面上将显示错误消息。可以通过单击工作完成页面上的查看进程日志和查看错误日志来进一步查看有关错误的详细信息。
如果显示一般错误,如收到等待条件失败的消息:'Chef 师运行失败。请参阅 'c:\\chef\chef-run.log' 以获取详细信息',请检查 Amazon CloudWatch 日志,方法是单击 Cloud Builder 摘要页面查看 AWS CloudWatch 日志部分的登录 URL。这将在您的默认 Web 浏览器中打开相应的 CloudWatch 日志,您可以在该浏览器中查看部署中每个 Amazon Elastic Compute Cloud (EC2) 实例的日志并找出失败的原因。
找出导致失败的原因后,即可在 Cloud Builder 应用程序中单击上一步以修复所需的参数并重试部署。或者,也可以删除失败的部署,然后再创建一个新部署。
ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程序不断崩溃并返回错误,指示 ArcGIS Enterprise Cloud Builder for AWS 已停止工作
如果 ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程序崩溃并返回以下错误消息:ArcGIS Enterprise Cloud Builder for AWS 已停止运行。此问题导致程序停止正常工作。Windows 将关闭程序并通知您是否提供了解决方案。,您的机器可能缺少所需的 Microsoft Visual C++ Redistributable 包。有关详细信息和下载程序包的链接,请参阅 Cloud Builder 先决条件。
我在哪里可以找到我使用 ArcGIS Enterprise Cloud Builder for Amazon Web Services 应用程式创建的部署的 CloudWatch 日志?
如果 Cloud Builder 应用程序无法创建您的部署,则其将在工作完成页面上返回错误消息。要进一步查看有关错误的详细信息,请通过单击工作完成页面上的查看进程日志和查看错误日志链接。
使用 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序时遇到的错误
以下是使用 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序时可能遇到的一些常见消息或问题,以及如何解决这些问题的建议。
我收到权限错误消息。
运行 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序的用户必须具有 Logs 和 Output 文件夹的递归写入权限。确保已授予这些权限。
我收到消息找不到文件 <文件名>。
从 10.8.1 开始,您必须将 JSON 配置文件置于工作目录中的 Configuration 文件夹或其子文件夹之一,请勿将 JSON 配置文件放在安装目录中提供的 Configuration 文件夹内。如果您的配置文件不在 Configuration 文件夹中,请将文件移到此处,然后再次运行该实用程序。
对于 10.8 及更早版本,您必须将 JSON 配置文件置于安装目录中的 Configuration 文件夹或其子文件夹之一。如果您的配置文件不在此位置,请将其移至 Configuration 文件夹,然后再次运行该实用程序。
我收到消息部署配置文件扩展名无效。扩展名必须为 ".json"。
您使用的配置文件必须具有 .json 扩展名。如果没有,请对其进行重命名以包含此文件扩展名,然后再次运行该实用程序。
我收到消息文件 <文件名> 的 JSON 格式无效。
确保配置文件包含有效的 JSON 格式。
提示:
您可以使用 JSON 验证器(例如 JSONLint)来验证格式。
我收到消息无法使用提供的凭据访问 AWS 帐户。
请确保您在 JSON 配置文件中提供了有效的 AWS 凭据,以便该实用程序连接到 AWS。如果凭据有效,请确保可以从您运行 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序的计算机访问您的帐户。
我收到一条错误消息,提示使用 PREP 命令运行 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序时访问被拒绝。
如果您使用部署文件的现有 Amazon Simple Storage Service (S3) 存储段,请确保您具有访问和写入存储段的相应权限。
使用 CREATE 命令运行 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序后,当我打开输出文件时,没有显示我期望的所有组件。
使用 CREATE 命令创建的输出文件包含实用程序在 AWS 上创建的每个组件的标题。这些标题对应于 JSON 配置文件中包含的节点。配置文件中的节点会告知实用程序要创建的组件。如果配置文件中缺少某节点,则实用程序将不会创建该组件。
您在配置文件中包含的每个节点必须至少包含一个参数。即使在 "Default" 节点下设置了所有参数,也必须为要创建的部署的每个部分包含一个节点,并且该节点必须至少包含一个参数和值。如果节点存在于配置文件中,但不包含参数,则实用程序将跳过该节点。例如,您无法在 "Default" 节点中为 ArcGIS GIS Server 站点设置参数,并在配置文件中放置一个空的 "Server" 节点。如果这样做,则实用程序将不会创建 ArcGIS GIS Server 站点。
检查配置文件,以确保已经为部署的每个组件添加了所有必需的节点和至少一个参数。有关配置文件中每个节点的所需参数列表,请参阅 ArcGIS Enterprise Cloud Builder CLI for AWS 参数。
当我运行 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序时,将显示停止运行的命令提示。
如果您发现在 Microsoft Windows 命令窗口中运行的 ArcGIS Enterprise Cloud Builder CLI for AWS 实用程序或任何实用程序停止运行,请禁用该命令窗口的快速编辑模式。
解决 AWS CloudFormation 堆栈创建相关问题
ArcGIS Enterprise on Amazon Web Services 部署工具创建 AWS CloudFormation 堆栈。使用 AWS CloudFormation 控制台监视 AWS CloudFormation 堆栈的状态,并检测堆栈创建是否失败。登录到 AWS CloudFormation 控制台(该控制台为 AWS Management Console 的组成部分),然后打开事件选项卡,以查找有关堆栈创建、更新和删除的信息。如果堆栈创建失败,您可通过事件选项卡的相关信息大概了解出错的环节。
ArcGIS Enterprise on Amazon Web Services 部署工具还会在虚拟机上创建日志文件,以帮助您解决相关问题。要确保即使部署启动失败仍保留文件,请登录到 AWS CloudFormation 控制台,然后禁用失败时回滚选项。
如果从 ArcGIS Enterprise on Amazon Web Services 部署工具启动时部署失败,请将远程桌面或 SSH 连接到 Amazon Elastic Compute Cloud (EC2) 实例以查看日志。下表中列出了日志类型和位置:
EC2 实例类型 | EC2 实例的日志文件和位置 | 日志文件描述 |
---|---|---|
Ubuntu | /var/log/cfn-init.log | 用于检索和解释资源元数据、安装包、创建文件和启动服务的 CloudFormation 帮助器脚本的日志文件 |
/var/log/chef-run.log | Chef 配置管理工具日志文件 | |
/var/lib/tomcat7/logs/catalina.out | Apache Tomcat 应用程序服务器日志文件 | |
Windows | C:\cfn\log\cfn-init.log | 用于检索和解释资源元数据、安装包、创建文件和启动服务的 CloudFormation 帮助器脚本的日志文件 |
C:\chef\chef-run.log | Chef 配置管理工具日志文件 |
注:
如果 CloudFormation 堆栈创建成功,则堆栈输出参数会提供一个到 AWS Management Console 中日志组的链接。如果堆栈创建失败,请转至 AWS Management Console 中的 CloudFormation 资源列表,以查找日志组。请注意,如果在启动任何实例之前堆栈创建失败,则系统可能不会创建日志组。
我在哪里可以找到我使用 ArcGIS Enterprise on Amazon Web Services 部署工具创建的部署的 CloudWatch 日志?
要访问您使用 ArcGIS Enterprise on Amazon Web Services 部署工具创建的部署的 CloudWatch 日志,请登录到 CloudFormation 控制台,它是 AWS Management Console 的一部分。请参阅 AWS 网站上的视图 CloudFormation 控制台中的日志。
我为什么找不到使用 ArcGIS Enterprise on Amazon Web Services 部署工具创建的部署的 CloudWatch 日志?
从 10.8.1 开始,在创建部署时,ArcGIS Enterprise Cloud Builder for AWS 使用Amazon 实例元数据服务 (IMDS) 的版本 2 (V2)。从 10.8.1 开始,Esri CloudFormation 模板默认情况下也使用 IMDS V2。此时,EC2 实例上的 CloudWatch 日志代理 AWS 安装与 IMDS V2 不兼容。这是一个已知限制。
在 AWS 更正此限制前,如果堆栈无法启动并且您想查看日志以进行故障排除,则需要执行以下操作:
- 在 AWS Management Console 中登录到 CloudFormation 控制台。
- 访问失败的 CloudFormation 堆栈并查看 事件选项卡以查找失败的原因。
- 如果您看到与收到带有 UniqueId 的 FAILURE 信号 <instanceid> 类似的消息,请使用远程桌面或 SSH 以及消息中的实例 ID 访问受影响的 EC2 实例。
- 查看 Chef 日志以识别堆栈未启动的原因。您可以在以下位置之一找到 Chef 登录,具体取决于 EC2 实例的操作系统:
- Microsoft Windows - C:\chef\chef-run.log
- Ubuntu - /var/log/chef-run.log
提示:
如果您使用 Esri CloudFormation 模板,以便您的新部署使用 IMDS 版本 1 (V1),因此请避免使用 CloudWatch 日志代理已知限制。 但是,由于 IMDS V1 的安全性不如 IMDS V2,因此不建议这样做。
启动 AWS CloudFormation 堆栈时遇到的错误
以下是使用 AWS CloudFormation 模板进行部署时可能遇到的一些常见消息或问题,以及如何解决这些问题的建议。
单击启动来启动实例时,为什么会显示有关容量不足的错误?
此错误来源于 Amazon Elastic Compute Cloud,表示没有足够容量来满足新实例的需求。如果部署架构允许,您可以通过在另一可用区域请求实例来解决问题,或允许 EC2 为您选择可用区域。还可以选择尝试启动不同大小的实例或稍后再尝试启动实例。
cfn-init.log 中的消息构建配置过程中出错:检索 https:// .s3.amazonaws.com/ 失败的含义是什么?
如果 cfn-init.log 文件中显示该消息,请确保部署 S3 存储段名称正确,并且授权文件的 S3 对象关键名称和 SSL 证书均正确无误。
catalina.out 日志文件中的消息无法连接至 WebAdaptor URL:https://agsportalssl.esri.com/server/webadaptor 的含义是什么?
如果 Ubuntu 实例上的 catalina.out 日志文件中显示该消息,请确保部署 S3 存储段中的 SSL 证书有效,且证书为 PKCS 12 格式。同时请确保所提供的 SSL 证书密码正确。
chef-run.log 文件中的消息 OpenSSL::PKCS12::PKCS12Error: PKCS12_parse: mac 验证失败的含义是什么?
如果 Windows 实例上的 chef-run.log 文件中显示该消息,请确保部署 S3 存储段中的 SSL 证书有效,且证书为 PKCS 12 格式。同时请确保所提供的 SSL 证书密码正确。
AWS Management Console 疑难解答
当您使用 AWS Management Console 和 Esri Amazon 机器映像手动创建站点时,可能会遇到以下错误消息之一:
当我尝试在 Windows 上的 EC2 实例中检索管理员密码时,为什么会收到消息未找到任何密码?
在您停止并启动 EC2 实例后尝试使用获取 Windows 密码时,会显示以上消息。要避免出现此错误,请在首次登录时将管理员密码更改为易于记忆的值。
从 AWS Management Console 获取的信息称我的实例已安排退出使用。这表示什么?
当您的实例恰巧运行在 Amazon 需要更换的已降级硬件上时,您可能会收到以上消息。当您看到此消息时,应停止站点然后重新启动。
重新启动站点后,消息即会消失。