将 Greengrass V1 核心设备升级到 Greengrass V2 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Greengrass V1 核心设备升级到 Greengrass V2

验证应用程序和组件在Amazon IoT Greengrass V2核心设备上运行后,可以在当前运行 v1.x 的设备(例如生产设备)上安装 CAmazon IoT Greengrass ore 软件 v2.x。然后,部署 Greengrass V2 组件,在设备上运行 Greengrass 应用程序。

要将设备队列从 V1 升级到 V2,请为每台要升级的设备完成以下步骤。您可以使用事物组将 V2 组件部署到一组核心设备。

提示

我们建议您创建一个脚本来自动执行一组设备的升级过程。如果您使用Amazon Systems Manager管理队列,则可以使用 Systems Manager 在每台设备上运行该脚本,将您的队列从 V1 升级到 V2。

如果对如何最好地自动化升级过程有疑问,可以联系您的Amazon企业Support 代表。

步骤 1:安装Amazon IoT Greengrass核心软件 v2.x

从以下选项中进行选择,在 V1Amazon IoT Greengrass 核心设备上安装 Core 软件 v2.x:

  • 以更少的步骤进行升级

    要用更少的步骤进行升级,可以在安装 v2.x 软件之前卸载 v1.x 软件。

  • 以最少的停机时间升级

    要在最短的停机时间内进行升级,可以同时安装两个版本的Amazon IoT Greengrass Core 软件。安装了Amazon IoT Greengrass Core 软件 v2.x 并验证 V2 应用程序是否正常运行后,您将卸载Amazon IoT Greengrass Core 软件 v1.x。在选择此选项之前,请考虑同时运行两个版本的Amazon IoT Greengrass Core 软件所需的额外 RAM。

在安装 v2.x 之前先卸载 CAmazon IoT Greengrass ore v1.x

如果您想按顺序升级,请在设备上安装 v2.x 之前卸载 CAmazon IoT Greengrass ore 软件 v1.x。

卸载 CAmazon IoT Greengrass ore 软件 v1.x
  1. 如果Amazon IoT Greengrass核心软件 v1.x 作为服务运行,则必须停止、禁用和删除该服务。

    1. 停止正在运行的Amazon IoT Greengrass核心软件 v1.x 服务。

      sudo systemctl stop greengrass
    2. 等待直到服务停止。您可以使用list命令以检查服务的状态。

      sudo systemctl list-units --type=service | grep greengrass
    3. 禁用该服务。

      sudo systemctl disable greengrass
    4. 移除该服务。

      sudo rm /etc/systemd/system/greengrass.service
  2. 如果Amazon IoT Greengrass Core 软件 v1.x 未作为服务运行,请使用以下命令停止守护程序。将 greengrass-root 替换为 Greengrass 根文件夹的名称。默认位置是 /greengrass

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  3. (可选)将 Greengrass 根文件夹和自定义写入文件夹(如果适用)备份到设备上的其他文件夹。

    1. 使用以下命令将当前 Greengrass 根文件夹复制到其他文件夹,然后删除该根文件夹。

      sudo cp -r /greengrass-root /path/to/greengrass-backup rm -rf /greengrass-root
    2. 使用以下命令将写入文件夹移动到其他文件夹,然后删除写入文件夹。

      sudo cp -r /write-directory /path/to/write-directory-backup rm -rf /write-directory

然后,您可以按照的安装说明在您的设备上安装软件。Amazon IoT Greengrass V2

提示

要在将核心设备从 V1 迁移到 V2 时重复使用其身份,请按照说明安装带有手动配置的Amazon IoT Greengrass Core 软件。首先从设备中删除 V1 核心软件,然后重用 V1 核心设备的内容和证书,并更新证书的Amazon IoT策略以授予 v2.x 软件所需的权限。Amazon IoT

在已经运行 v1.x 的设备上安装 CAmazon IoT Greengrass ore 软件 v2.x

如果您在已经运行Amazon IoT Greengrass酷睿软件 v1.x 的设备上安装Amazon IoT Greengrass酷睿 v2.x 软件,请记住以下几点:

  • 您的 V2 核心设备Amazon IoT的事物名称必须是唯一的。不要使用与 V1 核心设备相同的名称。

  • 您用于Amazon IoT Greengrass Core 软件 v2.x 的端口必须不同于用于 v1.x 的端口。

  • Amazon IoT Greengrass V2不提供重命名 Greengrass 系统服务的选项。如果您将 Greengrass 作为系统服务运行,您必须执行下列操作之一,以避免系统服务名称冲突:

    重命名 v1.x 的 Greengrass 服务
    1. 停止Amazon IoT Greengrass核心软件 v1.x 服务。

      sudo systemctl stop greengrass
    2. 等待服务停止。该服务最多可能需要几分钟才能停止。您可以使用该list-units命令检查服务是否已停止。

      sudo systemctl list-units --type=service | grep greengrass
    3. 禁用该服务。

      sudo systemctl disable greengrass
    4. 重命名 Service。

      sudo mv /etc/systemd/system/greengrass.service /etc/systemd/system/greengrass-v1.service
    5. 重新加载服务并启动它。

      sudo systemctl daemon-reload sudo systemctl reset-failed sudo systemctl enable greengrass-v1 sudo systemctl start greengrass-v1

然后,您可以按照的安装说明在您的设备上安装软件。Amazon IoT Greengrass V2

提示

要在将核心设备从 V1 迁移到 V2 时重复使用其身份,请按照说明安装带有手动配置的Amazon IoT Greengrass Core 软件。首先从设备中删除 V1 核心软件,然后重用 V1 核心设备的内容和证书,并更新证书的Amazon IoT策略以授予 v2.x 软件所需的权限。Amazon IoT

步骤 2:将Amazon IoT Greengrass V2组件部署到核心设备

在设备上安装Amazon IoT Greengrass Core 软件 v2.x 后,创建包含以下资源的部署。要将组件部署到一组相似的设备,请为包含这些设备的事物组创建部署。

有关创建和修改部署的信息,请参阅将Amazon IoT Greengrass组件部署到设备