本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Greengrass V1 核心设备升级到 Greengrass V2
验证您的应用程序和组件在Amazon IoT Greengrass V2核心设备,你可以安装Amazon IoT Greengrass当前运行 v1.x 的设备上的核心软件 v2.x,例如生产设备。然后,部署 Greengrass V2 组件以在设备上运行 Greengrass 应用程序。
要将设备队列从 V1 升级到 V2,请为要升级的每个设备完成这些步骤。您可以使用事物组将 V2 组件部署到核心设备队列。
我们建议您创建脚本以自动执行设备队列的升级过程。如果您使用Amazon Systems Manager要管理您的队列,您可以使用 Systems Manager 在每台设备上运行该脚本,以便将队列从 V1 升级到 V2。
您可以联系Amazon提供有关如何最好地自动化升级过程的问题的企业 Support 代表。
第 1 步:安装Amazon IoT Greengrass核心软件 v2.x
从以下选项中进行选择以安装Amazon IoT GreengrassV1 核心设备上的核心软件 v2.x:
卸载Amazon IoT Greengrass安装 v2.x 之前的核心 v1.x
如果您要按顺序升级,请卸载Amazon IoT Greengrass在设备上安装 v2.x 之前,核心软件 v1.x。
卸载Amazon IoT Greengrass核心软件 v1.x
-
如果Amazon IoT Greengrass核心软件 v1.x 作为服务运行,您必须停止、禁用和删除该服务。
-
停止运行Amazon IoT Greengrass核心软件 v1.x 服务。
sudo systemctl stop greengrass
-
等到服务停止。您可以使用
list
命令检查服务的状态。sudo systemctl list-units --type=service | grep greengrass
-
禁用该服务。
sudo systemctl disable greengrass
-
删除服务。
sudo rm /etc/systemd/system/greengrass.service
-
-
如果Amazon IoT Greengrass核心软件 v1.x 未作为服务运行,请使用以下命令停止守护程序。Replace
绿草根
使用您的 Greengrass 根文件夹的名称。默认位置是/greengrass
。cd /
greengrass-root
/ggc/core/ sudo ./greengrassd stop -
(可选)备份您的 Greengrass 根文件夹,如果适用,备份自定义写文件夹,转到设备上的其他文件夹。
-
使用以下命令将当前 Greengrass 根文件夹复制到其他文件夹,然后删除根文件夹。
sudo cp -r /
greengrass-root
/path/to/greengrass-backup
rm -rf /greengrass-root
-
使用以下命令将写入文件夹移动到其他文件夹,然后删除写入文件夹。
sudo cp -r /
write-directory
/path/to/write-directory-backup
rm -rf /write-directory
-
然后您可以将以下的安装说明Amazon IoT Greengrass V2在您的设备上安装软件。
要在将核心设备从 V1 迁移到 V2 时重复使用核心设备的身份,请按照以下说明操作安装Amazon IoT Greengrass具有手动配置的核心软件. 重复使用 V1 核心设备Amazon IoT事物和证书,然后更新证书的Amazon IoT用于授予 v2.x 软件所需权限的策略。
安装Amazon IoT Greengrass已运行 v1.x 的设备上的核心软件 v2.x
如果你安装Amazon IoT Greengrass在已经运行Amazon IoT Greengrass核心软件 v1.x,请注意以下事项:
-
这些区域有:Amazon IoTV2 核心设备的事物名称必须是唯一的。不要使用与 V1 核心设备相同的东西名称。
-
你用于Amazon IoT Greengrass核心软件 v2.x 必须与用于 v1.x 的端口不同。
-
将 V1 流管理器配置为使用 8088 以外的端口。有关更多信息,请参阅 。配置流管理器.
-
将 V1 MQTT 代理配置为使用 8883 以外的端口。有关更多信息,请参阅 。为本地消息收发配置 MQTT 端口.
-
-
Amazon IoT Greengrass V2没有提供重命名 Greengrass 系统服务的选项。如果您将 Greengrass 作为系统服务运行,则必须执行以下操作之一以避免系统服务名称冲突:
-
在安装 v2.x 之前,重命名 v1.x 的 Greengrass 服务。
-
安装Amazon IoT Greengrass没有系统服务的核心软件 v2.x,然后手动将软件配置为系统服务名字不是
greengrass
.
为 v1.x 重命名 Greengrass 服务
-
停止Amazon IoT Greengrass核心软件 v1.x 服务。
sudo systemctl stop greengrass
-
等待服务停止。停止服务可能需要几分钟的时间。您可以使用
list-units
检查服务是否停止了。sudo systemctl list-units --type=service | grep greengrass
-
禁用该服务。
sudo systemctl disable greengrass
-
重命名服务。
sudo mv /etc/systemd/system/greengrass.service /etc/systemd/system/
greengrass-v1
.service -
重新加载服务然后启动它。
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具有手动配置的核心软件. 重复使用 V1 核心设备Amazon IoT事物和证书,然后更新证书的Amazon IoT用于授予 v2.x 软件所需权限的策略。
第 2 步:部署Amazon IoT Greengrass V2核心设备的组件
安装完Amazon IoT Greengrass设备上的核心软件 v2.x,创建包含以下资源的部署。要将组件部署到类似设备的队列,请为包含这些设备的事物组创建部署。
-
您从 V1 Lambda 函数创建的 Lambda 函数组件。有关更多信息,请参阅 运行Amazon Lambda功能。
-
如果你使用 V1 订阅,旧版订阅路由器组件.
-
如果你使用直播管理器,流管理器组件. 有关更多信息,请参阅 在上管理数据流Amazon IoT Greengrass核心实例。
-
如果你使用本地机密,Secret Manager 组件.
-
如果你使用 V1 连接器,Amazon-提供的连接器组件.
-
如果你使用 Docker 容器,Dock 应用程序管理器组件. 有关更多信息,请参阅 运行 Docker 容器。
-
如果你使用机器学习推理,那么机器学习支持的组件。有关更多信息,请参阅 执行机器学习推理。
-
如果你使用连接的设备,客户端设备支持的组件. 还必须启用客户端设备支持,并将客户端设备与核心设备关联。有关更多信息,请参阅 与本地 IoT 设备互动。
-
如果您将日志从 Greengrass 核心设备上传到亚马逊 CloudWatch 日志,日志管理器组件. 有关更多信息,请参阅 显示器Amazon IoT Greengrass圆木。
-
如果你与Amazon IoT SiteWise、按照说明进将 V2 核心设备设置为Amazon IoT SiteWise网关。Amazon IoT SiteWise提供了一个安装脚本,用于部署Amazon IoT SiteWise适合你的组件。
-
您为实现自定义功能而开发的用户定义组件。
有关创建和修订部署的信息,请参阅部署Amazon IoT Greengrass组件到设备.