您可以通过手动升级过程运行来在 Amazon Web Services (AWS) 上升级 ArcGIS GeoEvent Server 站点,或者,如果使用 10.8 或 10.8.1 Esri Amazon Web Services CloudFormation 模板创建了部署,则可以使用 Chef 脚本进行升级。
在升级之前
无论您使用哪种升级方法,请在升级部署之前查看以下信息:
- 升级之前,对于新版本 ArcGIS Enterprise Amazon 机器映像 (AMI),请接受 AWS Marketplace 条款。
- 要升级到 10.9,您需要新的 ArcGIS GeoEvent Server 许可文件。
- 升级 ArcGIS GeoEvent Server 站点前,为其创建备份。
- 如果 ArcGIS GeoEvent Server 站点与 ArcGIS Enterprise 门户联合,则必须先升级门户,然后再升级此联合服务器。
- 从 10.9 开始,AWS 上的 ArcGIS GeoEvent Server 站点只能包含一个 Amazon Elastic Compute Cloud (EC2) 实例。
您必须从 AWS 自动伸缩组中移除 ArcGIS GeoEvent Server 站点中的 EC2 实例(如果在其中),并将除一个 EC2 实例之外的所有实例从该站点中移除。 AWS 不再支持多机 ArcGIS GeoEvent Server 站点。
升级后,请勿将其余实例放回自动伸缩组,因为该站点只能包含一个实例。
您不能使用通过 Esri 提供的 Amazon Web Services CloudFormation 模板创建的 Lambda 函数来在升级后停止和启动其余实例。
使用手动升级过程进行升级
AWS 上 ArcGIS GeoEvent Server 站点的手动升级过程要求您将除一个实例之外的所有实例从站点中移除。 如果在 AWS 自动伸缩组中部署实例,则必须在升级之前将其从自动伸缩组中移除。 完成这些步骤后,您可以按照与您在本地升级 ArcGIS GeoEvent Server 站点相同的步骤进行升级。
有关升级说明,请参阅 ArcGIS GeoEvent Server 安装指南:
- 升级 GeoEvent Server (Linux)
- 升级 GeoEvent Server (Windows)
使用 Chef 脚本升级
当使用 Chef 脚本升级 AWS 上使用 10.8.x Esri Amazon Web Services CloudFormation 模板创建的 ArcGIS GeoEvent Server 站点时,您必须将 ArcGIS GeoEvent Server 站点降为单个 EC2 实例加上文件服务器实例,因为 AWS 不再支持多个计算机 ArcGIS GeoEvent Server 站点。
Microsoft Windows 和 Ubuntu 上的部署的升级步骤不同。 请遵循适用于您的部署操作系统的说明。
升级 Windows 上的站点
您无法再将自动伸缩组与 ArcGIS GeoEvent Server 站点一起使用,并会将除了文件服务器实例和单个 ArcGIS GeoEvent Server EC2 实例之外的所有实例从 ArcGIS GeoEvent Server 堆栈中移除。 该站点中的其余实例必须添加到该站点的负载均衡器中,然后您才能升级 ArcGIS GeoEvent Server。
更改和删除自动伸缩组
首先,从 AWS 自动伸缩组中移除 ArcGIS GeoEvent Server EC2 实例并删除该组。
- 在 AWS Management Console 中登录到您的帐户并访问 ArcGIS GeoEvent Server 站点的自动伸缩组。
- 将堆栈的自动伸缩组的最小容量属性更改为 0。
- 将堆栈的自动伸缩组的最大容量和所需容量属性更改为 1。
这将留下一个 GeoEvent Server 实例。 不再支持多机 ArcGIS GeoEvent Server 站点。
- 一旦终止了该组中除一个实例之外的所有实例,请从自动伸缩组中分离其余 ArcGIS GeoEvent Server EC2 实例。
有关详细信息,请参阅 AWS 文档中的从自动伸缩组中分离 EC2 实例。
- 在实例已完成分离后,立即将堆栈的自动伸缩组的最大容量和所需容量属性更改为 0。
- 记录其余 EC2 实例的实例 ID。
- 删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。
向负载均衡器目标组添加其余实例。
您需要将其余 EC2 实例添加到负载均衡器中,因为这些实例已从自动伸缩组中移除。
请按照以下步骤将与先前部分的步骤 4 中的自动伸缩组分离的 ArcGIS GeoEvent Server EC2 实例添加到与负载均衡器相关联的四个目标组中。
- 在 AWS Management Console 中打开 AWS EC2。
- 单击负载均衡器以查看您帐户中的负载均衡器。
- 选择用于您的 ArcGIS GeoEvent Server 站点的负载均衡器。
- 单击侦听器选项卡,并记下默认操作下列出的四个目标组。
- 单击目标组以访问目标组,以便可以将其余 ArcGIS GeoEvent Server 实例添加到您在上面的子步骤 d 中记录的每个目标组中。
- 将剩余 ArcGIS GeoEvent Server 实例的实例 ID 注册到四个目标组中的每一个目标组。
请参阅 AWS 文档以获取有关如何向目标组注册实例的信息。
升级 ArcGIS GeoEvent Server
您现在可以升级 ArcGIS GeoEvent Server。
- 与 ArcGIS GeoEvent Server 站点中的其余 EC2 实例创建远程桌面连接。
- 下载并安装 Chef 或 Cinc 客户端 15。 如果您安装的是 Chef 的旧版本,请将其更新到版本 15。
- 从 My Esri 内的您的帐户中下载以下 10.9 安装设置文件,并将其上传到 EC2 实例上的 C:\Software\Archives 文件夹中:
- ArcGIS_Server_Windows_109_177775.exe
- ArcGIS_GeoEvent_Server_109_177813.exe
- 获取 ArcGIS GeoEvent Server 10.9 授权文件(.epc 或 .prvc),并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
- 将 ArcGIS Cookbook 版本 3.7.0 (arcgis-3.7.0-cookbooks.zip) 下载到 EC2 实例中,解压缩文件,然后将解压缩后的文件内容放置在 C:\chef 文件夹中。
- 创建原始 C:\chef\node.json 文件的副本,然后将其重命名为 upgrade-geoevent-server.json。
- 在文本编辑器中打开 upgrade-geoevent-server.json 并修改以下参数:
- 将 ArcGIS 版本设置为 10.9。
"arcgis" : { "version": "10.9",
- 指定放置 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]" ]
- 将 ArcGIS 版本设置为 10.9。
- 保存并关闭 upgrade-geoevent-server.json 文件。
- 以管理员身份打开一个命令行窗口、将目录更改为 C:\chef,并运行以下命令:chef-client -z -j c:\chef\upgrade-geoevent-server.json。
升级 Ubuntu 上的站点
您无法再将自动伸缩组与 ArcGIS GeoEvent Server 站点一起使用,并会将除了文件服务器实例和单个 ArcGIS GeoEvent Server EC2 实例之外的所有实例从 ArcGIS GeoEvent Server 堆栈中移除。 该站点中的其余实例必须添加到该站点的负载均衡器中,然后您才能升级 ArcGIS GeoEvent Server。
更改和删除自动伸缩组
首先,从 AWS 自动伸缩组中移除 ArcGIS GeoEvent Server EC2 实例并删除该组。
- 在 AWS Management Console 中登录到您的帐户并访问 ArcGIS GeoEvent Server 站点的自动伸缩组。
- 将堆栈的自动伸缩组的最小容量属性更改为 0。
- 将堆栈的自动伸缩组的最大容量和所需容量属性更改为 1。
这将留下一个 GeoEvent Server 实例。 不再支持多机 ArcGIS GeoEvent Server 站点。
- 一旦终止了该组中除一个实例之外的所有实例,请从自动伸缩组中分离其余 ArcGIS GeoEvent Server EC2 实例。
有关详细信息,请参阅 AWS 文档中的从自动伸缩组中分离 EC2 实例。
- 在实例已完成分离后,立即将堆栈的自动伸缩组的最大容量和所需容量属性更改为 0。
- 记录其余 EC2 实例的实例 ID。
- 删除自动伸缩组,以防止任何人在升级数据存储后重新添加实例。
向负载均衡器目标组添加其余实例。
您需要将其余 EC2 实例添加到负载均衡器中,因为这些实例已从自动伸缩组中移除。
请按照以下步骤将与先前部分的步骤 4 中的自动伸缩组分离的 ArcGIS GeoEvent Server EC2 实例添加到与负载均衡器相关联的四个目标组中。
- 在 AWS Management Console 中打开 AWS EC2。
- 单击负载均衡器以查看您帐户中的负载均衡器。
- 选择用于您的 ArcGIS GeoEvent Server 站点的负载均衡器。
- 单击侦听器选项卡,并记下默认操作下列出的四个目标组。
- 单击目标组以访问目标组,以便可以将其余 ArcGIS GeoEvent Server 实例添加到您在上面的子步骤 d 中记录的每个目标组中。
- 将剩余 ArcGIS GeoEvent Server 实例的实例 ID 注册到四个目标组中的每一个目标组。
请参阅 AWS 文档以获取有关如何向目标组注册实例的信息。
升级 ArcGIS GeoEvent Server
您现在可以升级 ArcGIS GeoEvent Server。
- 以 ubuntu 用户身份建立与 ArcGIS GeoEvent Server 站点中的其余 EC2 实例的 SSH 连接。
- 使用以下命令之一下载并安装或安装 Chef 或 Cinc 客户端 15。 如果您安装的是 Chef 的旧版本,请将其更新到版本 15。
- Chef 客户端:sudo curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -v 15.14.0
- Cinc 客户端:sudo curl -L https://omnitruck.cinc.sh/install.sh | sudo bash -s -- -v 15.14.0
- 从 My Esri 内的您的帐户中下载以下 10.9 安装设置文件,并将其上传到其余 EC2 实例上的 /opt/software/archives 文件夹中:
- ArcGIS_Server_Linux_109_177864.tar.gz
- ArcGIS_GeoEvent_Server_Linux_109_177900.tar.gz
- 获取 ArcGIS GeoEvent Server 10.9 授权文件(.epc 或 .prvc),并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
- 将 ArcGIS Cookbook 版本 3.7.0 (arcgis-3.7.0-cookbooks.tar.gz) 下载到 EC2 实例中,解压并解压缩文件,然后将文件内容放置在 /var/chef 目录中。
- 删除 nodes 下的 /var/chef/ 目录,然后删除 /etc/chef/ 下的 local-mode-cache 目录。
- 创建原始 /etc/chef/node.json 文件的副本,然后将其重命名为 upgrade-geoevent-server.json。
- 在文本编辑器中打开 upgrade-geoevent-server.json 并修改以下参数:
- 将 ArcGIS 版本设置为 10.9。
"arcgis" : { "version": "10.9",
- 指定放置 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]" ]
- 将 ArcGIS 版本设置为 10.9。
- 保存并关闭 upgrade-geoevent-server.json 文件。
- 以 ubuntu 用户身份运行以下命令:chef-client -z -j /etc/chef/upgrade-geoevent-server.json。