Skip To Content

在 AWS 上升级 ArcGIS GeoEvent Server 站点

升级方法取决于您以何种方式以及何时在 Amazon Web Services (AWS) 上创建 ArcGIS GeoEvent Server 站点。

  • AWS 上的任何 ArcGIS GeoEvent Server 站点都可以使用手动升级过程升级。 如果您在 10.8 版本之前创建了站点,则必须使用手动过程进行升级。
  • 如果您使用 10.8 或 10.8.1 版本 Esri Amazon Web Services CloudFormation 模板创建了 ArcGIS GeoEvent Server 站点,则可以使用 Chef 脚本进行升级
  • 如果您使用 10.9、10.9.1、11.0、11.1 或 11.2 版本的 Esri CloudFormation 模板创建了 ArcGIS GeoEvent Server 站点,则可以使用相应的 11.3 CloudFormation 模板进行升级
  • 如果使用 10.9、10.9.1、11.0、11.1 或 11.2 版本的 ArcGIS Enterprise Cloud Builder for Amazon Web Services 创建了 ArcGIS GeoEvent Server 站点,则可以使用 11.3 ArcGIS Enterprise Cloud Builder for AWS 对其进行升级

在升级之前

无论您使用哪种升级方法,请在升级部署之前查看以下信息:

  • 要升级到 11.3,您需要新的 ArcGIS GeoEvent Server 许可文件。
  • 在升级之前导出 ArcGIS GeoEvent Server 站点配置
  • 如果 ArcGIS GeoEvent Server 站点与 ArcGIS Enterprise 门户联合,则必须先升级门户,然后再升级此联合服务器。
  • AWS 上的 ArcGIS GeoEvent Server 10.9 版本和更高版本的站点仅可包含一个 Amazon Elastic Compute Cloud (EC2) 实例。

    如果您使用手动升级过程或 Chef 脚本进行升级,必须先从 AWS 自动伸缩组中移除 ArcGIS GeoEvent Server 站点中的 EC2 实例(如果其位于一个实例中),并从站点移除除了一个 EC2 之外的所有实例。 AWS 不再支持多机 ArcGIS GeoEvent Server 站点。

    升级后,请勿将其余实例放回自动伸缩组,因为该站点只能包含一个实例。

    您不能使用通过 Esri 提供的 Amazon Web Services CloudFormation 模板创建的 Lambda 函数来在升级后停止和启动其余实例。

使用手动升级过程进行升级

AWSArcGIS GeoEvent Server 站点的手动升级过程要求您将除一个实例之外的所有实例从站点中移除。 如果在 AWS 自动伸缩组中部署实例,则必须在升级之前将其从自动伸缩组中移除。 完成这些步骤后,您可以按照与您在本地升级 ArcGIS GeoEvent Server 站点相同的步骤进行升级。

有关升级说明,请参阅 ArcGIS GeoEvent Server 安装指南:

使用 Chef 脚本升级

如果您使用 10.8 或 10.8.1 版本 Esri Amazon Web Services CloudFormation 模板创建了 ArcGIS GeoEvent Server 站点,则可以使用 Chef 脚本进行升级。

当使用 Chef 脚本升级 AWS 上使用 10.8.x Esri Amazon Web Services CloudFormation 模板创建的 ArcGIS GeoEvent Server 站点时,您必须将 ArcGIS GeoEvent Server 站点降为单个 EC2 实例加上文件服务器实例,因为 AWS 不再支持多个计算机 ArcGIS GeoEvent Server 站点。

Microsoft WindowsUbuntu 上的部署的升级步骤不同。 请遵循适用于您的部署操作系统的说明。

升级 Windows 上的站点

您无法再将自动伸缩组与 ArcGIS GeoEvent Server 站点一起使用,并会将除了文件服务器实例和单个 ArcGIS GeoEvent Server EC2 实例之外的所有实例从 ArcGIS GeoEvent Server 堆栈中移除。 该站点中的其余实例必须添加到该站点的负载均衡器中,然后您才能升级 ArcGIS GeoEvent Server

更改和删除自动伸缩组

首先,从 AWS 自动伸缩组中移除 ArcGIS GeoEvent Server EC2 实例并删除该组。

  1. AWS Management Console 中登录到您的账户并访问 ArcGIS GeoEvent Server 站点的自动伸缩组。
  2. 将堆栈的自动伸缩组的最小容量属性更改为 0。
  3. 将堆栈的自动伸缩组的最大容量和所需容量属性更改为 1。

    这将留下一个 GeoEvent Server 实例。 不再支持多机 ArcGIS GeoEvent Server 站点。

  4. 一旦终止了该组中除一个实例之外的所有实例,请从自动伸缩组中分离其余 ArcGIS GeoEvent Server EC2 实例。

    有关详细信息,请参阅 AWS 文档中的从自动伸缩组中分离 EC2 实例

  5. 在实例已完成分离后,立即将堆栈的自动伸缩组的最大容量和所需容量属性更改为 0。
  6. 记录其余 EC2 实例的实例 ID。
  7. 删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。

向负载均衡器目标组添加其余实例。

您需要将其余 EC2 实例添加到负载均衡器中,因为这些实例已从自动伸缩组中移除。

请按照以下步骤将与先前部分的步骤 4 中的自动伸缩组分离的 ArcGIS GeoEvent Server EC2 实例添加到与负载均衡器相关联的四个目标组中。

  1. AWS Management Console 中打开 AWS EC2
  2. 单击负载均衡器以查看您账户中的负载均衡器。
  3. 选择用于您的 ArcGIS GeoEvent Server 站点的负载均衡器。
  4. 单击侦听器选项卡,并记下默认操作下列出的四个目标组。
  5. 单击目标组以访问目标组,以便可以将其余 ArcGIS GeoEvent Server 实例添加到您在上面的子步骤 d 中记录的每个目标组中。
  6. 将剩余 ArcGIS GeoEvent Server 实例的实例 ID 注册到四个目标组中的每一个目标组。

    请参阅 AWS 文档以获取有关如何向目标组注册实例的信息。

升级 ArcGIS GeoEvent Server

您现在可以升级 ArcGIS GeoEvent Server

  1. ArcGIS GeoEvent Server 站点中的其余 EC2 实例创建远程桌面连接。
  2. 下载并安装支持的 ChefCinc 客户端。

    有关支持的版本,请参阅 ArcGIS Cookbook 兼容性矩阵

  3. My Esri 内的您的账户中下载以下 11.3 安装设置文件,并将其上传到 EC2 实例上的 C:\Software\Archives 文件夹中:

    • ArcGIS_Server_Windows_113_190188.exe
    • ArcGIS_Server_Windows_113_190188.exe.001
    • ArcGIS_GeoEvent_Server_113_190259.exe

  4. 获取 ArcGIS GeoEvent Server 11.3 授权文件(.epc.prvc),并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
  5. 将 ArcGIS Cookbook 版本 5.0.0 (arcgis-5.0.0-cookbooks.zip) 下载EC2 实例中,解压缩文件,然后将解压缩后的文件内容放置在 C:\chef 文件夹中。
  6. 创建原始 C:\chef\node.json 文件的副本,然后将其重命名为 upgrade-geoevent-server.json
  7. 在文本编辑器中打开 upgrade-geoevent-server.json 并修改以下参数:

    • 将 ArcGIS 版本设置为 11.3
      "arcgis" : {
          "version": "11.3",
    • 指定放置 ArcGIS GeoEvent Server 授权文件的位置。
      "arcgis" : {
          "server": {
          "authorization_file" : "<drive>\\<folder>"
    • 添加存档存储库节点并将其设置为您在 EC2 实例上放置软件安装文件的文件夹。
      "arcgis" : {
          "repository": {
      	   "archives": "C:\\Software\\Archives"
    • 从运行列表中移除以下资源:
      "recipe[arcgis-enterprise::system]",
      "recipe[arcgis-enterprise::post_install]"
    • "recipe[arcgis-enterprise::server_node]", 资源更改为 "recipe[arcgis-enterprise::server]"

    现在,运行列表应包含以下资源:

        "run_list"  : [
    "recipe[arcgis-enterprise::server]",
    "recipe[arcgis-geoevent]"
    ]

  8. 保存并关闭 upgrade-geoevent-server.json 文件。
  9. 以管理员身份打开一个命令行窗口、将目录更改为 C:\chef,并运行以下命令:chef-client -z -j c:\chef\upgrade-geoevent-server.json
  10. 使用启动升级过程之前导出的文件导入 ArcGIS GeoEvent Server 站点的配置

升级 Ubuntu 上的站点

您无法再将自动伸缩组与 ArcGIS GeoEvent Server 站点一起使用,并会将除了文件服务器实例和单个 ArcGIS GeoEvent Server EC2 实例之外的所有实例从 ArcGIS GeoEvent Server 堆栈中移除。 该站点中的其余实例必须添加到该站点的负载均衡器中,然后您才能升级 ArcGIS GeoEvent Server

更改和删除自动伸缩组

首先,从 AWS 自动伸缩组中移除 ArcGIS GeoEvent Server EC2 实例并删除该组。

  1. AWS Management Console 中登录到您的账户并访问 ArcGIS GeoEvent Server 站点的自动伸缩组。
  2. 将堆栈的自动伸缩组的最小容量属性更改为 0。
  3. 将堆栈的自动伸缩组的最大容量和所需容量属性更改为 1。

    这将留下一个 GeoEvent Server 实例。 不再支持多机 ArcGIS GeoEvent Server 站点。

  4. 一旦终止了该组中除一个实例之外的所有实例,请从自动伸缩组中分离其余 ArcGIS GeoEvent Server EC2 实例。

    有关详细信息,请参阅 AWS 文档中的从自动伸缩组中分离 EC2 实例

  5. 在实例已完成分离后,立即将堆栈的自动伸缩组的最大容量和所需容量属性更改为 0。
  6. 记录其余 EC2 实例的实例 ID。
  7. 删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。

向负载均衡器目标组添加其余实例。

您需要将其余 EC2 实例添加到负载均衡器中,因为这些实例已从自动伸缩组中移除。

请按照以下步骤将与先前部分的步骤 4 中的自动伸缩组分离的 ArcGIS GeoEvent Server EC2 实例添加到与负载均衡器相关联的四个目标组中。

  1. AWS Management Console 中打开 AWS EC2
  2. 单击负载均衡器以查看您账户中的负载均衡器。
  3. 选择用于您的 ArcGIS GeoEvent Server 站点的负载均衡器。
  4. 单击侦听器选项卡,并记下默认操作下列出的四个目标组。
  5. 单击目标组以访问目标组,以便可以将其余 ArcGIS GeoEvent Server 实例添加到您在上面的子步骤 d 中记录的每个目标组中。
  6. 将剩余 ArcGIS GeoEvent Server 实例的实例 ID 注册到四个目标组中的每一个目标组。

    请参阅 AWS 文档以获取有关如何向目标组注册实例的信息。

升级 ArcGIS GeoEvent Server

您现在可以升级 ArcGIS GeoEvent Server

  1. 以 ubuntu 用户身份创建 ArcGIS GeoEvent Server 站点中的其余 EC2 实例的安全外壳协议 (SSH) 连接。
  2. 使用以下命令之一下载并安装受支持的 ChefCinc 客户端。

    有关支持的版本,请参阅 ArcGIS Cookbook 兼容性矩阵。 将以下语句中的版本号文本替换为您安装的客户端版本,例如 18.30。

    • Chef 客户端:sudo curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -v <version_number>
    • Cinc 客户端:sudo curl -L https://omnitruck.cinc.sh/install.sh | sudo bash -s -- -v <version_number>
  3. My Esri 内的您的账户中下载以下 11.3 安装设置文件,并将其上传到其余 EC2 实例上的 /opt/software/archives 文件夹中:

    • ArcGIS_Server_Linux_113_190305.tar.gz
    • ArcGIS_GeoEvent_Server_113_190331.tar.gz

  4. 获取 ArcGIS GeoEvent Server 11.3 授权文件(.epc.prvc),并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
  5. 将 ArcGIS Cookbook 版本 5.0.0 (arcgis-5.0.0-cookbooks.tar.gz) 下载EC2 实例中,解包并解压缩文件,然后将文件内容放置在 /var/chef 目录中。
  6. 删除 /var/chef/ 下的 nodes 目录,然后删除 /etc/chef/ 下的 local-mode-cache 目录。
  7. 创建原始 /etc/chef/node.json 文件的副本,然后将其重命名为 upgrade-geoevent-server.json
  8. 在文本编辑器中打开 upgrade-geoevent-server.json 并修改以下参数:

    • 将 ArcGIS 版本设置为 11.3
      "arcgis" : {
          "version": "11.3",
    • 指定放置 ArcGIS GeoEvent Server 授权文件的位置。
      "arcgis" : {
          "server": {
          "authorization_file" : "/<folder>/subfolder"
    • 添加存档存储库节点并将其设置为您在 EC2 实例上放置软件安装文件的文件夹。
      "arcgis" : {
          "repository": {
      	   "archives": "/opt/software/archives"
    • 从运行列表中移除以下资源:
      "recipe[arcgis-enterprise::system]",
      "recipe[arcgis-enterprise::post_install]"
    • "recipe[arcgis-enterprise::server_node]", 资源更改为 "recipe[arcgis-enterprise::server]"

    现在,运行列表应包含以下资源:

        "run_list"  : [
    "recipe[arcgis-enterprise::server]",
    "recipe[arcgis-geoevent]"
    ]

  9. 保存并关闭 upgrade-geoevent-server.json 文件。
  10. 以 ubuntu 用户身份运行以下命令:chef-client -z -j /etc/chef/upgrade-geoevent-server.json
  11. 使用启动升级过程之前导出的文件导入 ArcGIS GeoEvent Server 站点的配置

使用 CloudFormation 模板升级

如果您使用 Esri 提供的 10.9、10.9.1、11.0、11.1 或 11.2 版本部署的 CloudFormation 模板 (arcgis-geoevent-server-singlemachine.template.json) 创建了 ArcGIS GeoEvent Server 站点,则可以使用对应的 11.3 升级模板 (arcgis-geoevent-server-singlemachine-upgrade.template.json) 对其进行升级。 有关升级模板的使用说明,请参阅使用 CloudFormation 升级单机 ArcGIS GeoEvent Server 站点