本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安装Amazon IoT Greengrass具有自动资源配置功能的核心软件
这个Amazon IoT Greengrass核心软件包括一个安装程序,可将您的设备设置为 Greengrass 核心设备。要快速设置设备,安装程序可以配置Amazon IoT事情,Amazon IoT事物组、IAM 角色和Amazon IoT核心设备运行所需的角色别名。安装程序还可以将本地开发工具部署到核心设备,因此您可以使用该设备开发和测试自定义软件组件。安装程序需要Amazon用于预置这些资源和创建部署的证书。
如果你不能提供Amazon设备凭证,您可以预置Amazon核心设备运行所需的资源。您也可以将开发工具部署到核心设备以用作开发设备。这使您能够在运行安装程序时向设备提供更少的权限。有关更多信息,请参阅安装Amazon IoT Greengrass具有手动资源配置功能的核心软件:
重要
在你下载之前Amazon IoT Greengrass核心软件,检查您的核心设备是否符合要求安装并运行Amazon IoT Greengrass核心软件 v2.0。
设置设备环境
按照本节中的步骤设置 Linux 或 Windows 设备作为您的设备使用Amazon IoT Greengrass核心设备。
设置 Linux 设备
将 Linux 设备设置为Amazon IoT Greengrass V2
-
安装 Java 运行时,其中Amazon IoT Greengrass核心软件需要运行。我们建议你使用亚马逊 Corretto 11
要么OpenJDK 11 。以下命令向您展示了如何在您的设备上安装 OpenJDK。 -
对于基于 Debian 或基于 Ubuntua 的发行版:
sudo apt install default-jdk
-
对于基于 Red Hat 的发行版:
sudo yum install java-11-openjdk-devel
-
对于 Amazon Linux 2:
sudo amazon-linux-extras install java-openjdk11
-
对于亚马逊 Linux 2023:
sudo dnf install java-11-amazon-corretto -y
安装完成后,运行以下命令以验证 Java 是否在您的 Linux 设备上运行。
java -version
该命令输出在设备上运行的 Java 版本。例如,在基于 Debian 的发行版上,输出可能与以下示例类似。
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
-
-
(可选)创建在设备上运行组件的默认系统用户和组。你也可以选择让Amazon IoT Greengrass核心软件安装程序使用安装程序在安装过程中创建此用户和群组
--component-default-user
安装程序参数。有关更多信息,请参阅安装程序参数:sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
-
验证运行的用户是Amazon IoT Greengrass核心软件(通常
root
),有权运行sudo
适用于任何用户和任何群组。-
运行以下命令打开
/etc/sudoers
文件。sudo visudo
-
验证用户的权限是否与以下示例类似。
root ALL=(ALL:ALL) ALL
-
-
(可选)至运行容器化 Lambda 函数,你必须启用cgroup
v1,并且必须启用并安装记忆和设备cgroups。如果您不打算运行容器化 Lambda 函数,则可以跳过此步骤。 要启用这些 cgroups 选项,请使用以下 Linux 内核参数启动设备。
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
有关查看和设置设备内核参数的信息,请参阅操作系统和启动加载程序的文档。按照说明永久设置内核参数。
-
如中的要求列表所示,在您的设备上安装所有其他必需的依赖项设备要求。
设置 Windows 设备
注意
此功能适用于 v2.5.0 及更高版本的绿草核成分。
将 Windows 设备设置为Amazon IoT Greengrass V2
-
安装 Java 运行时,其中Amazon IoT Greengrass核心软件需要运行。我们建议你使用亚马逊 Corretto 11
要么OpenJDK 11 。 -
检查 Java 上是否可用路径
系统变量,如果不是,则添加它。这个LocalSystem账户运行Amazon IoT Greengrass核心软件,因此必须将 Java 添加到 PATH 系统变量中,而不是为用户添加 PATH 用户变量。执行以下操作: -
按 Windows 键打开开始菜单。
-
类型
environment variables
从开始菜单中搜索系统选项。 -
在开始菜单搜索结果中,选择编辑系统环境变量要打开系统属性窗口。
-
选择环境变量...要打开环境变量窗口。
-
下系统变量,选择路径,然后选择编辑。在编辑环境变量窗口,您可以在单独的行上查看每条路径。
-
检查 Java 安装的路径是否为
bin
文件夹存在。路径可能与以下示例类似。C:\Program Files\Amazon Corretto\jdk11.0.13_8\bin
-
如果 Java 安装的是
bin
中缺少文件夹路径,选择全新添加它,然后选择好吧。
-
-
打开 Windows 命令提示符 (
cmd.exe
) 作为管理员。 -
在中创建默认用户LocalSystemWindows 设备上的帐户。替换
密码
使用安全的密码。net user /add ggc_user
password
提示
根据你的 Windows 配置,用户的密码可能会被设置为在将来的某个日期过期。为确保您的 Greengrass 应用程序继续运行,请跟踪密码何时过期,并在密码到期之前进行更新。您也可以将用户的密码设置为永不过期。
-
要检查用户及其密码何时过期,请运行以下命令。
net user
ggc_user
| findstr /C:expires -
要将用户的密码设置为永不过期,请运行以下命令。
wmic UserAccount where "Name='
ggc_user
'" set PasswordExpires=False
-
-
下载并安装PsExec实用程序
来自设备上的微软。 -
使用PsExec实用程序,用于在凭证管理器实例中存储默认用户的用户名和密码LocalSystem账户。替换
密码
使用您之前设置的用户密码。psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:
password
如果PsExec License Agreement打开,选择Accept同意许可证并运行命令。
注意
在 Windows 设备上,LocalSystem账户运行 Greengrass 核心,你必须使用PsExec用于将默认用户信息存储在LocalSystem账户。使用凭证管理器应用程序将此信息存储在当前登录用户的 Windows 帐户中,而不是LocalSystem账户。
提供Amazon设备凭证
提供你的Amazon您的设备凭证,以便安装程序可以预置所需的Amazon资源。有关所需权限的更多信息,请参阅安装程序配置资源的最低 IAM 策略。
为了提供Amazon设备凭证
-
提供你的Amazon设备凭据,以便安装程序可以配置Amazon IoT以及您的核心设备的 IAM 资源。为了提高安全性,我们建议您获取 IAM 角色的临时证书,该证书仅允许预置所需的最低权限。有关更多信息,请参阅安装程序配置资源的最低 IAM 策略:
注意
安装程序不会保存或存储您的证书。
在您的设备上,执行以下任一操作以检索凭证并将其提供给Amazon IoT Greengrass核心软件安装程序:
-
使用 IAM 用户提供的长期证书:
-
为您的 IAM 用户提供访问密钥 ID 和私有访问密钥。有关如何检索长期证书的更多信息,请参阅管理 IAM 用户的访问密钥在IAM 用户指南。
-
运行以下命令向提供证书Amazon IoT Greengrass核心软件。
-
-
(推荐)使用 IAM 角色的临时安全证书:
-
提供您假定的 IAM 角色的访问密钥 ID、私有访问密钥和会话令牌。有关如何检索这些证书的更多信息,请参阅申请临时安全证书在IAM 用户指南。
-
运行以下命令向提供证书Amazon IoT Greengrass核心软件。
-
-
下载Amazon IoT Greengrass核心软件
你可以下载最新版本的Amazon IoT Greengrass核心软件来自以下位置:
注意
你可以下载特定版本的Amazon IoT Greengrass核心软件来自以下位置。替换版本
有版本可供下载。
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-
version
.zip
要下载Amazon IoT Greengrass核心软件
-
在您的核心设备上,下载Amazon IoT Greengrass将核心软件转换为名为的文件
greengrass-nucleus-latest.zip
。下载此软件即表示您同意Greengrass 核心软件许可协议
。 -
解压缩Amazon IoT Greengrass将核心软件保存到设备上的文件夹。替换
GreengrassInstaller
使用你要使用的文件夹。 -
(可选)运行以下命令查看版本Amazon IoT Greengrass核心软件。
java -jar ./
GreengrassInstaller
/lib/Greengrass.jar --version
重要
如果你安装的版本早于 v2.4.0 的 Greengrass nucleus,则在安装后不要删除此文件夹Amazon IoT Greengrass核心软件。这个Amazon IoT Greengrass核心软件使用此文件夹中的文件来运行。
如果您下载了最新版本的软件,则安装了 v2.4.0 或更高版本,安装后可以删除此文件夹Amazon IoT Greengrass核心软件。
(可选)验证 Greengrass nucleus 软件签名
注意
此功能在 Greengrass nucleus 2.9.5 及更高版本中可用。
-
使用以下命令验证你的 Greengrass nucleus 工件的签名:
-
这个
jarsigner
调用产生的输出指示验证结果。-
如果 Greengrass nucleus 压缩文件已签名,则输出将包含以下语句:
jar verified.
-
如果 Greengrass nucleus 压缩文件未经过签名,则输出包含以下语句:
jar is unsigned.
-
-
如果你提供了 Jarsigner
-certs
选项以及-verify
和-verbose
选项,输出还包括详细的签名者证书信息。
安装 Amazon IoT Greengrass Core 软件
使用指定执行以下操作的参数运行安装程序:
-
创建Amazon核心设备运行所需的资源。
-
指定使用
ggc_user
系统用户在核心设备上运行软件组件。在 Linux 设备上,此命令还指定使用ggc_group
系统组,安装程序会为您创建系统用户和组。 -
设置Amazon IoT Greengrass核心软件作为系统服务,在启动时运行。在 Linux 设备上,这需要Systemd
初始化系统。 重要
在 Windows 核心设备上,你必须设置Amazon IoT Greengrass核心软件即系统服务。
要使用本地开发工具设置开发设备,请指定--deploy-dev-tools true
争论。安装完成后,部署本地开发工具最多可能需要一分钟。
有关您可以指定的参数的更多信息,请参见安装程序参数。
注意
如果你在跑步Amazon IoT Greengrass在内存有限的设备上,你可以控制内存量Amazon IoT Greengrass核心软件用途。要控制内存分配,可以在中设置 JVM 堆大小选项jvmOptions
你的 nucleus 组件中的配置参数。有关更多信息,请参阅使用 JVM 选项控制内存分配:
安装 Amazon IoT Greengrass Core 软件
-
运行Amazon IoT Greengrass核心安装程序。按如下方式替换命令中的参数值。
-
/greengrass/v2
要么C:\greengrass\v2
: 用于安装的根文件夹的路径Amazon IoT Greengrass核心软件。 -
GreengrassInstaller
。您解压缩的文件夹的路径Amazon IoT Greengrass核心软件安装程序。 -
领域
。这个Amazon Web Services 区域在其中查找或创建资源。 -
MyGreengrassCore
。的名字Amazon IoT适合你的 Greengrass 核心设备。如果该东西不存在,则安装程序会创建它。安装程序下载证书以进行身份验证Amazon IoT事情。有关更多信息,请参阅Amazon IoT Greengrass 的设备身份验证和授权:注意
事物名称不能包含冒号 (
:
) 字符。 -
MyGreengrassCoreGroup
。的名字Amazon IoT你的 Greengrass 核心设备的事物组。如果事物组不存在,安装程序会创建它并将事物添加到其中。如果事物组存在且处于活动部署状态,则核心设备会下载并运行部署指定的软件。注意
事物组名称不能包含冒号 (
:
) 字符。 -
Greengrassv2IoThingPolicy
。的名字Amazon IoT允许 Greengrass 核心设备与之通信的策略Amazon IoT和Amazon IoT Greengrass。如果Amazon IoT策略不存在,安装程序创建了许可证Amazon IoT这个名字的策略。您可以根据自己的用例限制此政策的权限。有关更多信息,请参阅Amazon IoT Greengrass V2核心设备的最低Amazon IoT政策: -
Greengrassv2TokenExchangeRole
。允许 Greengrass 核心设备临时使用的 IAM 角色的名称Amazon证书。如果角色不存在,则安装程序会创建该角色并创建并附加名为的策略
。有关更多信息,请参阅授权核心设备与Amazon服务:GreengrassV2TokenExchangeRole
Access -
GreengrassCoreTokenExchangeRoleAlias
。允许 Greengrass 核心设备稍后获取临时证书的 IAM 角色的别名。如果角色别名不存在,安装程序会创建它并将其指向您指定的 IAM 角色。有关更多信息,请参阅授权核心设备与Amazon服务:
重要
在 Windows 核心设备上,必须指定
--setup-system-service true
来设置Amazon IoT Greengrass核心软件即系统服务。如果成功,安装程序会打印以下消息:
-
如果你指定
--provision
,安装程序会打印Successfully configured Nucleus with provisioned resource details
如果它成功配置了资源。 -
如果你指定
--deploy-dev-tools
,安装程序会打印Configured Nucleus to deploy aws.greengrass.Cli component
如果它成功创建了部署。 -
如果你指定
--setup-system-service true
,安装程序会打印Successfully set up Nucleus as a system service
如果它将软件设置为服务并运行。 -
如果你不指定
--setup-system-service true
,安装程序会打印Launched Nucleus successfully
如果成功并运行了该软件。
-
-
如果您已安装,请跳过此步骤绿草核v2.0.4 或更高版本。如果您下载了最新版本的软件,则安装了 v2.0.4 或更高版本。
运行以下命令为你设置所需的文件权限Amazon IoT Greengrass核心软件根文件夹。替换
/greengrass/v2
使用您在安装命令中指定的根文件夹,然后替换/greengras
使用父文件夹作为您的根文件夹。sudo chmod 755
/greengrass/v2
&& sudo chmod 755/greengrass
如果你安装了Amazon IoT Greengrass核心软件作为系统服务,安装程序为您运行软件。否则,必须手动运行该软件。有关更多信息,请参阅运行Amazon IoT GreengrassCore 软件:
注意
默认情况下,安装程序创建的 IAM 角色不允许访问 S3 存储桶中的组件对象。要在 Amazon S3 中部署定义构件的自定义组件,您必须向该角色添加权限以允许您的核心设备检索组件构件。有关更多信息,请参阅允许访问 S3 存储桶以获取组件项目:
如果您还没有用于存放组件工件的 S3 存储桶,则可以在创建存储桶后稍后添加这些权限。
有关如何配置和使用该软件的更多信息,以及Amazon IoT Greengrass,请参阅以下内容: