Skip To Content

在 AWS 上升级时空大数据存储

升级方法取决于您以何种方式以及何时在 Amazon Web Services (AWS) 上创建 ArcGIS Data Store 时空大数据存储。

在升级之前

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

  • 使用随 ArcGIS Data Store 安装的 backupdatastore 实用程序创建时空大数据存储的备份。 有关说明,请参阅管理数据存储备份
  • 您必须先升级将时空大数据存储注册到的 ArcGIS GIS Server 站点(托管服务器),然后再升级时空大数据存储。 如果时空大数据存储已注册到单机 ArcGIS Enterprise 部署两台计算机上的高可用性 ArcGIS Enterprise 部署,则必须先升级该基础部署,然后再升级时空大数据存储。
  • 如果您使用手动过程或 Chef 脚本进行升级,必须先从 AWS 自动伸缩组中移除时空大数据存储 Amazon Elastic Compute Cloud (EC2) 实例(如果其位于一个实例中),然后才能升级数据存储。 升级后,无法将数据存储实例放回自动伸缩组。 因此,升级之后,您必须在需要时手动将实例添加到数据存储或从该数据存储删除实例,并且不能使用通过 Esri 提供的 Amazon Web Services CloudFormation 模板创建的 Lambda 函数来停止和启动这些实例。

    如果不移除实例,或者在升级后将实例放回自动伸缩组中,则由自动伸缩组添加到时空大数据存储的实例将运行该软件的旧版本。 您不能拥有多个版本的 ArcGIS Data Store,因为这种情况会破坏您的部署。

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

AWS 上的时空大数据存储的手动升级过程与在本地升级一个站点的过程类似。 AWS 上的差异在于,如果在 AWS 自动伸缩组中部署时空大数据存储 Amazon Elastic Compute Cloud 实例,则必须在升级之前将其从自动伸缩组中移除。

请先按照以下步骤从其自动伸缩组中移除所有时空大数据存储 EC2 实例,然后才能升级 ArcGIS Data Store

  1. 登录 AWS Management Console 并查找与您的时空大数据存储堆栈相关联的自动伸缩组。

    自动伸缩组包含 CloudFormation 堆栈的名称。 您还可以打开该组的实例管理,并确认该组中的 EC2 实例参与您的时空大数据存储。

  2. 将堆栈的自动伸缩组的最小容量和最大容量属性更改为 0。
  3. 从自动伸缩组中移除所有 EC2 实例。
  4. 将自动伸缩组的所需容量属性更改为 0。

移除所有 EC2 实例后,删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。

现在,您可以继续升级时空大数据存储。 可以在 ArcGIS Data Store 安装指南中找到升级的先决条件和说明。

使用 Chef 脚本升级

如果您使用 10.8 或 10.8.1 版本 Esri Amazon Web Services CloudFormation 模板创建了时空大数据存储,则可以使用 Chef 脚本进行升级。

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

Windows 上升级时空大数据存储

在运行升级脚本之前,请从 AWS 自动伸缩组中移除 EC2 实例。 接下来,将 Chef 客户端下载到所有 EC2 实例中并运行脚本以安装 ArcGIS Data Store。 最后,在其中一个 EC2 实例上运行升级脚本。

调整自动伸缩组设置

请按照以下步骤从自动伸缩组中移除所有 EC2 实例。

  1. 登录 AWS Management Console 并查找与您的时空大数据存储堆栈相关联的自动伸缩组。

    自动伸缩组包含 CloudFormation 堆栈的名称。 您还可以打开该组的实例管理,并确认该组中的 EC2 实例参与您的时空大数据存储。

  2. 将堆栈的自动伸缩组的最小容量和最大容量属性更改为 0。
  3. 从自动伸缩组中移除所有 EC2 实例。
  4. 将自动伸缩组的所需容量属性更改为 0。

移除所有 EC2 实例后,删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。

Chef 客户端和 ArcGIS Data Store 下载到除一个 EC2 实例以外的所有实例

登录到时空大数据存储中除一个 EC2 实例之外的所有实例,以安装 Chef 客户端并安装 ArcGIS Data Store 的最新版本。

  1. 与时空大数据存储中的第一个 EC2 实例建立远程桌面连接。
  2. 下载并安装支持的 ChefCinc 客户端。

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

  3. My Esri 中从您的账户下载 ArcGIS Data Store 11.3 安装文件 (ArcGIS_DataStore_Windows_113_190233.exe),并将文件上传到 EC2 实例上的文件夹中。
  4. 将 ArcGIS Cookbook 版本 5.0.0 (arcgis-5.0.0-cookbooks.zip) 下载EC2 实例中,解压缩文件,然后将解压缩后的文件内容放置在 C:\chef 文件夹中。
  5. 删除以下文件夹:

    • C:\chef\nodes
    • C:\Users\Administrator\.chef\local-mode-cache

  6. 创建原始 C:\chef\node.json 文件的副本,然后将其重命名为 upgr-bds-node-step2.json
  7. 在文本编辑器中打开 upgr-bds-node-step2.json 文件并修改以下参数:

    • 将 ArcGIS 版本设置为 11.3
      "arcgis" : {
          "version": "11.3",
    • 将 ArcGIS 存档存储库设置为您在 EC2 实例上放置软件文件的文件夹。
      "arcgis" : {
          "repository": {
      	  "archives": "<drive>\\<folder>"
    • 重命名 private_url 参数 url
      "arcgis" : {
          "server": {
      	  "url": 
    • 修改运行列表以使用以下资源。
      "recipe[arcgis-enterprise::install_datastore]"

  8. 保存并关闭 upgr-bds-node-step2.json 文件。
  9. 以管理员身份打开一个命令行窗口、将目录更改为 C:\chef,并运行以下命令:chef-client -z -j c:\chef\upgr-bds-node-step2.json
  10. 如果时空大数据存储中有多个 EC2 实例,请与下一个 EC2 实例建立远程桌面连接,然后重复步骤 2 至 9。 一旦只剩下一个要升级的实例,请继续进行下一部分。

Chef 客户端和 ArcGIS Data Store 下载到其余 EC2 并运行升级脚本

现在,您可以将 Chef 客户端和 ArcGIS Data Store 的最新版本安装到最终的时空大数据存储实例中,然后从该实例运行升级。

  1. 与时空大数据存储中尚未升级的其余 EC2 实例建立远程桌面连接。
  2. 下载并安装支持的 ChefCinc 客户端。

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

  3. My Esri 中从您的账户下载 ArcGIS Data Store 11.3 安装文件 (ArcGIS_DataStore_Windows_113_190233.exe),并将文件上传到 EC2 实例上的文件夹中。
  4. 将 ArcGIS Cookbook 版本 5.0.0 (arcgis-5.0.0-cookbooks.zip) 下载EC2 实例中,解压缩文件,然后将解压缩后的文件内容放置在 C:\chef 文件夹中。
  5. 删除以下文件夹:

    • C:\chef\nodes
    • C:\Users\Administrator\.chef\local-mode-cache

  6. 创建原始 C:\chef\node.json 文件的副本,然后将其重命名为 upgr-bds-node-step3.json
  7. 在文本编辑器中打开 upgr-bds-node-step3.json 文件并修改以下参数:

    • 将 ArcGIS 版本设置为 11.3
      "arcgis" : {
          "version": "11.3",
    • 将 ArcGIS 存档存储库设置为您在 EC2 实例上放置软件文件的文件夹。
      "arcgis" : {
          "repository": {
      	  "archives": "<drive>\\<folder>"
    • 重命名 private_url 参数 url
      "arcgis" : {
          "server": {
      	   "url": 
    • 修改运行列表以使用以下资源:
      "recipe[arcgis-enterprise::datastore]"

  8. 保存并关闭 upgr-bds-node-step3.json 文件。
  9. 以管理员身份打开一个命令行窗口、将目录更改为 C:\chef,并运行以下命令:chef-client -z -j c:\chef\upgr-bds-node-step3.json

系统将升级时空大数据存储。

Ubuntu 上升级时空大数据存储

在运行升级脚本之前,请从 AWS 自动伸缩组中移除 EC2 实例。 接下来,将 Chef 客户端下载到所有 EC2 实例中并运行脚本以安装 ArcGIS Data Store。 最后,在其中一个 EC2 实例上运行升级脚本。

调整自动伸缩组设置

请按照以下步骤从自动伸缩组中移除所有 EC2 实例。

  1. 登录 AWS Management Console 并查找与您的时空大数据存储堆栈相关联的自动伸缩组。

    自动伸缩组包含 CloudFormation 堆栈的名称。 您还可以打开该组的实例管理,并确认该组中的 EC2 实例参与您的时空大数据存储。

  2. 将堆栈的自动伸缩组的最小容量和最大容量属性更改为 0。
  3. 从自动伸缩组中移除所有 EC2 实例。
  4. 将自动伸缩组的所需容量属性更改为 0。

移除所有 EC2 实例后,删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。

Chef 客户端和 ArcGIS Data Store 下载到除一个 EC2 实例以外的所有实例

登录到时空大数据存储中除一个 EC2 实例之外的所有实例,以安装 Chef 客户端并安装 ArcGIS Data Store 的最新版本。

  1. 以 ubuntu 用户的身份,在时空大数据存储中的第一个 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 中从您的账户下载 ArcGIS Data Store 11.3 安装文件 (ArcGIS_DataStore_Linux_113_190318.tar.gz),并将文件上传到 EC2 实例上的文件夹中。
  4. 将 ArcGIS Cookbook 版本 5.0.0 (arcgis-5.0.0-cookbooks.tar.gz) 下载EC2 实例中,解包并解压缩文件,然后将文件内容放置在 /var/chef 目录中。
  5. 删除 /var/chef/nodes 目录。
  6. 创建原始 /etc/chef/node.json 文件的副本,然后将其重命名为 upgr-bds-node-step2.json
  7. 在文本编辑器中打开 upgr-bds-node-step2.json 文件并修改以下参数:

    • 将 ArcGIS 版本设置为 11.3
      "arcgis" : {
          "version": "11.3",
    • 将 ArcGIS 存档存储库设置为您在 EC2 实例上放置软件文件的文件夹。
      "arcgis" : {
          "repository": {
      	  "archives": "<drive>\\<folder>"
    • 重命名 private_url 参数 url
      "arcgis" : {
          "server": {
      	  "url": 
    • 修改运行列表以使用以下资源:
      "recipe[arcgis-enterprise::install_datastore]"
      "recipe[arcgis-enterprise::start_datastore]"

  8. 保存并关闭 upgr-bds-node-step2.json 文件。
  9. 以 ubuntu 用户身份将目录更改为 /var/chef,并运行以下命令:sudo chef-client -z -j /etc/chef/upgr-bds-node-step2.json
  10. 如果时空大数据存储中有多个 EC2 实例,请以 ubuntu 用户身份与下一个 EC2 实例建立 SSH 连接,然后重复步骤 2 至 9。 一旦只剩下一个要升级的实例,请继续进行下一部分。

Chef 客户端下载到其余 EC2 并运行升级脚本

现在,您可以将 Chef 客户端和 ArcGIS Data Store 的最新版本安装到最终的时空大数据存储实例中,然后从该实例运行升级。

  1. 以 ubuntu 用户身份与时空大数据存储中的最后一个 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 中从您的账户下载 ArcGIS Data Store 11.3 安装文件 (ArcGIS_DataStore_Linux_113_190318.tar.gz),并将文件上传到 EC2 实例上的文件夹中。
  4. 将 ArcGIS Cookbook 版本 5.0.0 (arcgis-5.0.0-cookbooks.tar.gz) 下载EC2 实例中,解包并解压缩文件,然后将文件内容放置在 /var/chef 目录中。
  5. 删除 /var/chef/nodes 目录。
  6. 创建原始 /etc/chef/node.json 文件的副本,然后将其重命名为 upgr-bds-node-step3.json
  7. 在文本编辑器中打开 upgr-bds-node-step3.json 文件并修改以下参数:

    • 将 ArcGIS 版本设置为 11.3
      "arcgis" : {
          "version": "11.3",
    • 将 ArcGIS 存档存储库设置为您在 EC2 实例上放置软件文件的文件夹。
      "arcgis" : {
          "repository": {
      	  "archives": "<drive>\\<folder>"
    • 重命名 private_url 参数 url
      "arcgis" : {
          "server": {
      	  "url": 
    • 修改运行列表以使用以下资源:
      "recipe[arcgis-enterprise::datastore]"

  8. 保存并关闭 upgr-bds-node-step3.json 文件。
  9. 以 ubuntu 用户身份将目录更改为 /var/chef,并运行以下命令:sudo chef-client -z -j /etc/chef\upgr-bds-node-step3.json

系统将升级时空大数据存储。

使用 CloudFormation 模板升级

如果您使用 Esri 提供的 10.9、10.9.1、11.0、11.1 或 11.2 版本 Amazon Web Services (AWS) CloudFormation 模板创建了时空大数据存储,则可以使用对应的 11.3 CloudFormation 升级模板对其进行升级。

下表列出了对应的部署和升级模板,并提供了升级模板使用说明的链接。

10.9、10.9.1、11.0、11.1 或 11.2 部署模板11.3 升级模板升级模板使用说明

arcgis-datastore-singlemachine.template.json

arcgis-datastore-singlemachine-upgrade.template.json

使用 CloudFormation 升级单机 ArcGIS Data Store

arcgis-datastore-cluster.template.json

arcgis-datastore-cluster-upgrade.template.json

使用 CloudFormation 升级集群 ArcGIS Data Store 部署